ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LocalDate 简单工具类(根据日期,获取近两周的相关日期)

2019-06-29 11:56:13  阅读:418  来源: 互联网

标签:dateStart java 两周 日期 dateEnd result put LocalDate


 

package com.betawoo.admin.commons.utils;

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;

public class WeekDateUtil {

    public static void main(String[] args) {
        System.out.println(getWeeksInfo("2019-02-02"));
    }

    /**
     * 根据日期,获取近两周的相关日期
     */
    public static Map getWeeksInfo(String dateStr){

        Map result = new HashMap();

        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate ld = LocalDate.parse(dateStr,df);

        //当前这周一
        LocalDate dateStart = ld
                .with(DayOfWeek.MONDAY);
        //下周周日
        LocalDate dateEnd = ld.minusWeeks(-1)
                .with(DayOfWeek.SUNDAY);

        //近两周开始和结束的日期
        result.put("dateStart",dateStart.toString());
        result.put("dateEnd",dateEnd.toString());
        result.put("dateStartDate",dateStart);
        result.put("dateEndDate",dateEnd);

        //开始/结束的号数
        result.put("start",dateStart.getDayOfMonth());
        result.put("end",dateEnd.getDayOfMonth());

        //是否跨月
        boolean beyond = false;
        if(!dateStart.getMonth().equals(dateEnd.getMonth())){
            beyond = true;
            System.out.println("跨月");
            // 获取上一个月总天数
            result.put("lengthOfMonth",dateStart.lengthOfMonth());
        }else{
            System.out.println("跨月");
        }
        result.put("beyondMonth",beyond);
        return result;
    }
}

 

标签:dateStart,java,两周,日期,dateEnd,result,put,LocalDate
来源: https://blog.csdn.net/hgg923/article/details/94137436

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有