| | |
| | | package com.moral.util; |
| | | |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.math.BigDecimal; |
| | |
| | | import java.time.ZonedDateTime; |
| | | import java.util.*; |
| | | |
| | | |
| | | @Slf4j |
| | | public class DateUtils { |
| | | /** |
| | | * 日期格式(yyyy) |
| | |
| | | * 日期格式(yyyy-MM-dd HH) |
| | | * */ |
| | | public static final String yyyy_MM_dd_HH_EN = "yyyy-MM-dd HH"; |
| | | |
| | | /* |
| | | * Date类toString格式 |
| | | * */ |
| | | public static final String EEE_MMM_dd_HH_mm_ss_zzz_yyyy = "EEE MMM dd HH:mm:ss zzz yyyy"; |
| | | /** |
| | | * DateFormat缓存 |
| | | */ |
| | | private static Map<String, DateFormat> dateFormatMap = new HashMap<String, DateFormat>(); |
| | | |
| | | |
| | | /** |
| | | * @Description: Date的toString格式转为Date |
| | | * @Param: [] |
| | | * @return: java.util.Date |
| | | * @Author: 陈凯裕 |
| | | * @Date: 2021/8/25 |
| | | */ |
| | | public static Date dateStringToDate(String formatStr){ |
| | | try { |
| | | SimpleDateFormat sdf = new SimpleDateFormat(EEE_MMM_dd_HH_mm_ss_zzz_yyyy, Locale.US); |
| | | return sdf.parse(formatStr); |
| | | } catch (ParseException e) { |
| | | log.error(e.getMessage()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取DateFormat |
| | |
| | | |
| | | /* |
| | | * 根据时间获取时间内时间点 |
| | | * 例:time=2021-08-04 就得到这天内每个小时时间点 |
| | | * 例:time=2021-08-04 就得到这天内每个小时时间点2021-08-04 00,2021-08-04 01。。。 |
| | | * time=2021-08 就得到这月内每天时间点 |
| | | * */ |
| | | public static List<String> getTimeLag(String time) { |
| | |
| | | StringBuilder stringBuffer = new StringBuilder(dateString); |
| | | stringBuffer.replace(15, 16, String.valueOf(i)); |
| | | return getDate(stringBuffer.toString(), yyyy_MM_dd_HH_mm_EN); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | System.out.println(getTimeLag("2021")); |
| | | } |
| | | } |