Java 時間截選工具(月開始與結束時間、年開始與結束時間)

最近項目上遇到需求,前端傳過來一個時間字符,如:“2019”、“2019-01”,需要根據這個時間字符去篩選出匹配的數據,即"2019"對應了2019年的beginTime和endTime,"2019-01"對應了2019年1月的beginTime和endTime

一、思路

用SimpleDateFormat類將前端傳過來的字符轉換成Date類型,然後獲取這個Date的開始時間和結束時間(年開始時間-年結束時間)

二、代碼實現

public static String[] getDate(String date){
        if (StringUtils.isEmpty(date)){
            return new String[2];
        }
        String[] date1 =  new String[2];
        SimpleDateFormat sdf = null;
        Date parse = null;
        DateTime beginDateTime = null;
        DateTime endDateTime = null;
        try {
            if (date.length() == 4) {
                sdf = new SimpleDateFormat("yyyy");
                parse = sdf.parse(date);
                beginDateTime = DateUtil.beginOfYear(parse);
                endDateTime = DateUtil.endOfYear(parse);
                date1[0] = beginDateTime.toString();
                date1[1] = endDateTime.toString();
            }
            if (date.length() == 7) {
                sdf = new SimpleDateFormat("yyyy-MM");
                parse = sdf.parse(date);
                beginDateTime = DateUtil.beginOfMonth(parse);
                endDateTime = DateUtil.endOfMonth(parse);
                date1[0] = beginDateTime.toString();
                date1[1] = endDateTime.toString();
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        system.out.println("date的開始時間:"+date1[0])
        system.out.println("date的結束時間:"+date1[1])
        return date1;
    }
  • 上述代碼中使用的DateUtil工具類是hutool提供的時間工具類;
  • 運行結果(String date = “2019”):
    在這裏插入圖片描述
  • 運行結果(String date = “2019-01”):
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章