序言
在工作中经常会遇到统计数据的需求,这就避免不了时间的问题,下面分享给大家如何根据时间数据获取对应的第一天及最后一天。
需求
获取指定月份的首日和最后一天的时间数据,不多说,直接看代码
代码
/**
* 根据 年月获取当前月份的开始和结束时间
*
* @param year 年
* @param month 月
* @return
*/
public static Map<String, LocalDate> getDaysByYM(Integer year, Integer month) {
//存放正常日期数据
Map<String, LocalDate> dayMap = new HashMap<>();
//本月第一天
LocalDate startTime = LocalDate.of(year, month, 1);
//本月的最后一天
LocalDate endTime = startTime.with(TemporalAdjusters.lastDayOfMonth());
dayMap.put(START_TIME, startTime);
dayMap.put(END_TIME, endTime);
return dayMap;
}
获取时间的年月
有的是从数据中取到的时间,那么下面给大家分享从时间中取出年月。
![使用localDate获取年月值](https://i-blog.csdnimg.cn/blog_migrate/58429f66c0b65ef35401c82b9048796c.png#pic_center)
public static Map<String,LocalDate> getDaysByDate(LocalDate date){
//获取时间参数中的年月
int month = date.getMonthValue();
int year = date.getYear();
Map<String,LocalDate> data = getDaysByYM(year,month )
return data;
}
/**
* Date转为LocalDate
* @param date
* @return
*/
public static LocalDate getLocalDateYMD(Date date){
return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
}
结语
以上就是要分享的内容,比较简单,但是应该使用的几率比较大,不是职业博主,随手记录一些知识点或者好的使用方法,顺便分享,谢谢