Java8的LocalDate类用来获取年月日的开始结束时间,当前时间
java8的LocalDate类使用获取年月日的开始结束时间,当前时间
·
Java8的LocalDate类用来获取年月日的开始结束时间,当前时间
文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、获取本日开始结束时间?
代码如下:
/**
* 获取本日开始时间
* @return 开始时间
*/
public static String getStartTime(){
LocalDateTime startTime = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
return startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
/**
* 获取本日结束时间
* @return
*/
public static String getEndTime(){
LocalDateTime endTime = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
return endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
二、获取本周开始结束时间
代码如下(示例):
/**
* 获取本周开始时间
* @return
*/
public static String getStartWeek(){
LocalDate today = LocalDate.now();
LocalDate oneDayOfWeek = getOneDayOfWeek(today, 1);
return LocalDateTime.of(oneDayOfWeek,LocalTime.MIN).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
/**
* 获取本周的结束时间
* @return
*/
public static String getEndWeek(){
LocalDate today = LocalDate.now();
LocalDate oneDayOfWeek = getOneDayOfWeek(today, 7);
return LocalDateTime.of(oneDayOfWeek,LocalTime.MAX).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
/**
* 获取一周内的某一天
* @param today 这周内任意一天的日期
* @param day 想要获取一周中的第几天
* @return LocalDate
*/
private static LocalDate getOneDayOfWeek(TemporalAccessor today, int day){
TemporalField fieldIso = WeekFields.of(DayOfWeek.MONDAY, 1).dayOfWeek();
LocalDate localDate = LocalDate.from(today);
return localDate.with(fieldIso, day);
}
三、获取本月的开始结束时间
代码如下(示例):
/**
* 获取本月的开始日期
* @return
*/
public static String getOneDayOfMonth(){
LocalDate date = LocalDate.now();
LocalDate with = date.with(TemporalAdjusters.firstDayOfMonth());
return LocalDateTime.of(with,LocalTime.MIN).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
/**
* 获取本月的结束日期
* @return
*/
public static String getEndDayOfMonth(){
LocalDate date = LocalDate.now();
LocalDate with = date.with(TemporalAdjusters.lastDayOfMonth());
return LocalDateTime.of(with,LocalTime.MAX).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
四、获取指定某月的开始结束日期
/**
* 获取指定某月的开始日期
* @param month 月份
* @return
*/
public static String getMonthStartOneDay(int month){
LocalDate localDate = LocalDate.now();
return LocalDateTime.of(LocalDate.of(localDate.getYear(),month,1),LocalTime.MIN).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
/**
* 获取指定月的结束日期
* @param month 月份
* @return
*/
public static String getMonthEndTime(int month){
YearMonth yearMonth = YearMonth.of(LocalDate.now().getYear(), month);
LocalDate localDate = yearMonth.atEndOfMonth();
return LocalDateTime.of(localDate,LocalTime.MAX).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
五、获取本年度的开始结束时间
/**
* 获取本年度开始日期
* @return
*/
public static String getOneDayOfYear(){
LocalDate date = LocalDate.now();
LocalDate with = date.with(TemporalAdjusters.firstDayOfYear());
return LocalDateTime.of(with,LocalTime.MIN).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
/**
* 获取本年度结束日期
* @return
*/
public static String getEndDayOfYear(){
LocalDate date = LocalDate.now();
LocalDate with = date.with(TemporalAdjusters.lastDayOfYear());
return LocalDateTime.of(with,LocalTime.MAX).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
六、根据开始时间结束时间获取时间段内的所有时间包括开始结束时间
/**
* 根据开始时间结束时间获取时间段内所有时间
* @param startTime
* @param endTime
* @return
*/
public static List<String> getDateListOfDateRange(String startTime,String endTime){
List<String> dateList = new ArrayList<>();
long betweenDay = DateUtil.betweenDay(DateUtil.parse(startTime, "yyyy-MM-dd HH:mm:ss"), DateUtil.parse(endTime, "yyyy-MM-dd HH:mm:ss"), true);
for (int i = 0; i <= betweenDay; i++) {
DateTime dateTime = DateUtil.offsetDay(DateUtil.parse(startTime), i);
dateList.add(DateUtil.format(dateTime, "yyyy-MM-dd"));
}
return dateList;
}
七、当前时间
String newTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
总结。
获取更详细的时间请去地址:
链接: 江湖人称小城写的Java8获取年、月、周数据和某一天的开始结束时间
LocalDate类知识简介:
链接: LocalDate类知识
更多推荐
已为社区贡献1条内容
所有评论(0)