其他分享
首页 > 其他分享> > 根据年月获取起止日期

根据年月获取起止日期

作者:互联网

 

//获取开始时间
public static Date getBeginTime(int year, int month) {
  YearMonth yearMonth = YearMonth.of(year, month);
  //取月的第一天
  LocalDate localDate = yearMonth.atDay(1);
  //此日期开始时的午夜的本地日期时间,不为null。
  LocalDateTime startOfDay = localDate.atStartOfDay();
  //设置时区
  ZonedDateTime zonedDateTime = startOfDay.atZone(ZoneId.of("Asia/Shanghai"));
  return Date.from(zonedDateTime.toInstant());
}

//获取终止时间
public static Date getEndTime(int year, int month) {
  YearMonth yearMonth = YearMonth.of(year, month);
  //此年月的最后一个有效日期,不为null。
  LocalDate endOfMonth = yearMonth.atEndOfMonth();
  //hour - 使用的小时,从0到23。minute - 使用的分钟,从0到59。 second - 使用的秒,从0到59。nanoofsecond - 使用的纳秒级,从0到999,999,999。
  LocalDateTime localDateTime = endOfMonth.atTime(23, 59, 59, 999);
  ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.of("Asia/Shanghai"));
  return Date.from(zonedDateTime.toInstant());
}

标签:根据,int,起止日期,999,month,获取,year,Date,zonedDateTime
来源: https://www.cnblogs.com/w852894903/p/15697057.html