首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java获取各种时间,及格式

java获取各种时间,及格式

作者头像
一只牛博
发布2025-05-30 14:27:23
发布2025-05-30 14:27:23
16800
代码可运行
举报
运行总次数:0
代码可运行

废话不多说直接上代码

获取几天前,几天后,当天的时间

代码语言:javascript
代码运行次数:0
运行
复制
/**
 * description: 获取时间字符串
 *
 * @param days 负数为过去,正数为未来
 * @return java.lang.String
 * @author bo
 * @date 2023/2/21 10:26 AM
*/
public static String accessTimeString(Integer days) {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Calendar calendar = new GregorianCalendar();
  calendar.setTime(new Date());
  calendar.add(Calendar.DATE, days);
  return sdf.format(calendar.getTime());
}

获取上周日的时间

代码语言:javascript
代码运行次数:0
运行
复制
/**
 * description: 获取上周日的时间
 *
 * @return java.lang.String
 * @author bo
 * @date 2023/3/28 17:49
*/
public static String getLastSunDayTime() {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  Calendar calendarEnd = Calendar.getInstance();
  calendarEnd.setTime(new Date());
  // 判断当前日期是否为周末,因为周末是本周第一天,如果不向后推迟一天的到的将是下周一的零点,而不是本周周一零点
  if (1 == calendarEnd.get(Calendar.DAY_OF_WEEK)) {
    calendarEnd.add(Calendar.DATE, -1);
  }
  calendarEnd.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

  return sdf.format(calendarEnd.getTime());
}

将时间格式格式为*“yyyy-MM-DDTHH:mm:ss+TIMEZONE”*转换为指定格式的时间字符串

代码语言:javascript
代码运行次数:0
运行
复制
/**
 * 将时间格式格式为"yyyy-MM-DDTHH:mm:ss+TIMEZONE"转换为指定格式的时间字符串
 *
 * @param inputTime    待转换的时间字符串,
 * @param outputFormat 输出时间的格式,如"yyyy-MM-dd HH:mm:ss"
 * @return 转换后的时间字符串
*/
public static String convertTimeFormat(String inputTime, String outputFormat) throws ParseException {
  // 创建输入格式化器
  SimpleDateFormat inputFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss+08:00");
  // 创建输出格式化器
  SimpleDateFormat outputFormatter = new SimpleDateFormat(outputFormat);
  // 将输入的时间字符串解析为Date对象
  Date date = inputFormatter.parse(inputTime);
  // 获取系统默认时区
  TimeZone timeZone = TimeZone.getDefault();
  // 设置输出格式化器的时区
  outputFormatter.setTimeZone(timeZone);
  // 将Date对象转换为指定格式的时间字符串
  return outputFormatter.format(date);
}

获取今天是周几

代码语言:javascript
代码运行次数:0
运行
复制
/**
 * 获取今天是周几
 *
 * @return int
*/
public static int getNowWeekNum() {
  Calendar calendar = Calendar.getInstance();
  return (calendar.get(Calendar.DAY_OF_WEEK) - 1) == 0 ? 7 : (calendar.get(Calendar.DAY_OF_WEEK) - 1);
}

判断传入日期是否是今天

代码语言:javascript
代码运行次数:0
运行
复制
public static boolean getIsToday(Date date) {
  DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss");
  LocalDateTime localTime = LocalDateTime.parse(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date), dtf);
  LocalDateTime startTime = LocalDate.now().atTime(0, 0, 0);
  LocalDateTime endTime = LocalDate.now().atTime(23, 59, 59);
  return localTime.isAfter(startTime) && localTime.isBefore(endTime);
}

获取起止时间

代码语言:javascript
代码运行次数:0
运行
复制
public static Map<String,Object> acquisitionStartStopTime(Integer dayNum){
	  Map<String, Object> timeMap = new HashMap<>(2);
	  // 获取当前时间
	  LocalDateTime now = LocalDateTime.now();
	  // 获取昨天的日期
	  LocalDateTime yesterday = now.minusDays(dayNum);
	  // 设置昨天的起始时间为凌晨
	  LocalDateTime startOfYesterday = yesterday.with(LocalTime.MIN);
	  // 设置昨天的结束时间为当天的最后一秒
	  LocalDateTime endOfYesterday = yesterday.with(LocalTime.MAX);
	  // 定义时间格式
	  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
	  // 格式化昨天的起始时间和结束时间
	  String formattedStartOfYesterday = startOfYesterday.format(formatter);
	  String formattedEndOfYesterday = endOfYesterday.format(formatter);
	  timeMap.put("startTime",formattedStartOfYesterday);
	  timeMap.put("endTime",formattedEndOfYesterday);
	  return timeMap;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 获取几天前,几天后,当天的时间
  • 获取上周日的时间
  • 将时间格式格式为*“yyyy-MM-DDTHH:mm:ss+TIMEZONE”*转换为指定格式的时间字符串
  • 获取今天是周几
  • 判断传入日期是否是今天
  • 获取起止时间
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档