java简单获取月首日和末日的时间数据

java简单获取月首日和末日的时间数据

序言

在工作中经常会遇到统计数据的需求,这就避免不了时间的问题,下面分享给大家如何根据时间数据获取对应的第一天及最后一天。

需求

获取指定月份的首日和最后一天的时间数据,不多说,直接看代码

代码

    /**
     * 根据 年月获取当前月份的开始和结束时间
     *
     * @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获取年月值

   
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();
}

结语

以上就是要分享的内容,比较简单,但是应该使用的几率比较大,不是职业博主,随手记录一些知识点或者好的使用方法,顺便分享,谢谢
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值