类 DateUtils

java.lang.Object
top.tangyh.basic.utils.DateUtils

public final class DateUtils extends Object
描述:日期工具类
作者:
zuihou 修改时间:2018/4/24
  • 字段详细资料

    • DEFAULT_YEAR_FORMAT

      public static final String DEFAULT_YEAR_FORMAT
      另请参阅:
    • DEFAULT_MONTH_FORMAT

      public static final String DEFAULT_MONTH_FORMAT
      另请参阅:
    • DEFAULT_MONTH_FORMAT_SLASH

      public static final String DEFAULT_MONTH_FORMAT_SLASH
      另请参阅:
    • DEFAULT_MONTH_FORMAT_EN

      public static final String DEFAULT_MONTH_FORMAT_EN
      另请参阅:
    • DEFAULT_WEEK_FORMAT

      public static final String DEFAULT_WEEK_FORMAT
      另请参阅:
    • DEFAULT_WEEK_FORMAT_EN

      public static final String DEFAULT_WEEK_FORMAT_EN
      另请参阅:
    • DEFAULT_DATE_FORMAT

      public static final String DEFAULT_DATE_FORMAT
      另请参阅:
    • DEFAULT_DATE_FORMAT_EN

      public static final String DEFAULT_DATE_FORMAT_EN
      另请参阅:
    • DEFAULT_DATE_TIME_FORMAT

      public static final String DEFAULT_DATE_TIME_FORMAT
      另请参阅:
    • DEFAULT_DATE_TIME_START_FORMAT

      public static final String DEFAULT_DATE_TIME_START_FORMAT
      另请参阅:
    • DEFAULT_DATE_TIME_END_FORMAT

      public static final String DEFAULT_DATE_TIME_END_FORMAT
      另请参阅:
    • DEFAULT_DATE_TIME_FORMAT_EN

      public static final String DEFAULT_DATE_TIME_FORMAT_EN
      另请参阅:
    • DEFAULT_TIME_FORMAT

      public static final String DEFAULT_TIME_FORMAT
      另请参阅:
    • DEFAULT_TIME_EN_FORMAT

      public static final String DEFAULT_TIME_EN_FORMAT
      另请参阅:
    • DAY

      public static final String DAY
      另请参阅:
    • MONTH

      public static final String MONTH
      另请参阅:
    • WEEK

      public static final String WEEK
      另请参阅:
    • DEFAULT_DATE_FORMAT_MATCHES

      public static final String DEFAULT_DATE_FORMAT_MATCHES
      另请参阅:
    • DEFAULT_DATE_TIME_FORMAT_MATCHES

      public static final String DEFAULT_DATE_TIME_FORMAT_MATCHES
      另请参阅:
    • DEFAULT_MONTH_FORMAT_EN_MATCHES

      public static final String DEFAULT_MONTH_FORMAT_EN_MATCHES
      另请参阅:
    • DEFAULT_DATE_FORMAT_EN_MATCHES

      public static final String DEFAULT_DATE_FORMAT_EN_MATCHES
      另请参阅:
    • DEFAULT_DATE_TIME_FORMAT_EN_MATCHES

      public static final String DEFAULT_DATE_TIME_FORMAT_EN_MATCHES
      另请参阅:
    • SLASH_DATE_FORMAT_MATCHES

      public static final String SLASH_DATE_FORMAT_MATCHES
      另请参阅:
    • SLASH_DATE_TIME_FORMAT_MATCHES

      public static final String SLASH_DATE_TIME_FORMAT_MATCHES
      另请参阅:
    • SLASH_DATE_FORMAT

      public static final String SLASH_DATE_FORMAT
      另请参阅:
    • SLASH_DATE_TIME_FORMAT

      public static final String SLASH_DATE_TIME_FORMAT
      另请参阅:
    • CRON_FORMAT

      public static final String CRON_FORMAT
      另请参阅:
    • LOCAL_DATE_TIME_FORMAT_MAP

      public static final Map<String,String> LOCAL_DATE_TIME_FORMAT_MAP
    • DATE_TIME_FORMAT_MAP

      public static final Map<String,String> DATE_TIME_FORMAT_MAP
    • LOCAL_DATE_FORMAT_MAP

      public static final Map<String,String> LOCAL_DATE_FORMAT_MAP
    • LOCAL_TIME_FORMAT_MAP

      public static final Map<String,String> LOCAL_TIME_FORMAT_MAP
    • MAX_MONTH_DAY

      public static final long MAX_MONTH_DAY
      一个月平均天数
      另请参阅:
    • MAX_3_MONTH_DAY

      public static final long MAX_3_MONTH_DAY
      3个月平均天数
      另请参阅:
    • MAX_YEAR_DAY

      public static final long MAX_YEAR_DAY
      一年平均天数
      另请参阅:
  • 方法详细资料

    • parse

      public static LocalDate parse(String source)
      将字符串解析LocalDate
      参数:
      source - 源参数 支持以下格式: yyyy-MM-dd yyyy/MM/dd yyyy年MM月dd日
      返回:
      日期
    • getCron

      public static String getCron(Date date)
      转换 Date 为 cron , eg: "0 07 10 15 1 ? 2016"
      参数:
      date - 时间点
      返回:
      cron 表达式
    • getCron

      public static String getCron(LocalDateTime date)
      转换 LocalDateTime 为 cron , eg. "0 07 10 15 1 ? 2016"
      参数:
      date - 时间点
      返回:
      cron 表达式
    • format

      public static String format(LocalDateTime date)
      格式化日期,返回格式为 yyyy-MM-mm HH:mm:ss
      参数:
      date - 日期
      返回:
      格式化后的字符串
    • format

      public static String format(LocalDateTime date, String pattern)
      格式化日期,
      参数:
      date - 日期
      pattern - 格式, 默认值为 yyyy-MM-mm HH:mm:ss
      返回:
      格式化后的字符串
    • format

      public static String format(LocalDate date, String pattern)
      格式化日期,返回格式为 yyyy-MM
      参数:
      date - 日期
      返回:
      格式化后的字符串
    • format

      public static String format(Date d, String f)
      根据传入的格式格式化日期.默认格式为MM月dd日
      参数:
      d - 日期
      f - 格式
      返回:
      格式化后的字符串
    • formatAsDate

      public static String formatAsDate(LocalDateTime date)
      格式化日期,返回格式为 yyyy-MM-dd
      参数:
      date - 日期
      返回:
      格式化后的字符串
    • formatAsDate

      public static String formatAsDate(LocalDate date)
    • formatAsDateEn

      public static String formatAsDateEn(LocalDateTime date)
    • formatAsYearMonth

      public static String formatAsYearMonth(LocalDateTime date)
    • formatAsYearMonthEn

      public static String formatAsYearMonthEn(LocalDateTime date)
    • formatAsYearWeek

      public static String formatAsYearWeek(LocalDateTime date)
      格式化日期,返回格式为 yyyy-ww
      参数:
      date - 日期
      返回:
      格式化后的字符串
    • formatAsYearWeekEn

      public static String formatAsYearWeekEn(LocalDateTime date)
    • formatAsYearMonth

      public static String formatAsYearMonth(Date date)
      格式化日期,返回格式为 yyyy-MM
      参数:
      date - 日期
      返回:
      格式化后的字符串
    • formatAsYearWeek

      public static String formatAsYearWeek(Date date)
      格式化日期,返回格式为 yyyy-ww
      参数:
      date - 日期
      返回:
      格式化后的字符串
    • formatAsTime

      public static String formatAsTime(Date date)
      格式化日期,返回格式为 HH:mm:ss 例:12:24:24
      参数:
      date - 日期
      返回:
      格式化后的字符串
    • formatAsDate

      public static String formatAsDate(Date date)
      格式化日期,返回格式为 yyyy-MM-dd
      参数:
      date - 日期
      返回:
      格式化后的字符串
    • formatAsDateTime

      public static String formatAsDateTime(Date date)
      格式化日期,返回格式为 yyyy-MM-dd HH:mm:ss
      参数:
      date - 日期
      返回:
      格式化后的字符串
    • getDatePoor

      public static String getDatePoor(Date endDate, Date nowDate)
      计算两个时间差
    • formatAsDay

      public static String formatAsDay(Date date)
      格式化日期,返回格式为 dd ,即对应的天数.
      参数:
      date - 日期
      返回:
      格式化后的字符串
    • parse

      public static Date parse(String dateStr, String format)
      将字符转换成日期
      参数:
      dateStr - 日期字符串
      format - 解析格式
      返回:
      解析后的日期
    • getLastDateOfMonth

      public static Date getLastDateOfMonth(Date date)
      获取当月最后一天
      参数:
      date - 日期
      返回:
      当月最后一天
    • parseAsDate

      public static Date parseAsDate(String source)
      根据传入的String返回对应的date
      参数:
      source - 日期字符串
      返回:
      日期
    • main

      public static void main(String[] args)
    • parseAsDateTime

      public static Date parseAsDateTime(String dateTime)
      按给定参数返回Date对象
      参数:
      dateTime - 时间对象格式为("yyyy-MM-dd HH:mm:ss");
      返回:
      解析后的日期
    • parseAsLocalDate

      public static LocalDate parseAsLocalDate(String source)
    • parseAsLocalTime

      public static LocalTime parseAsLocalTime(String source)
    • parseAsLocalDateTime

      public static LocalDateTime parseAsLocalDateTime(String source)
    • getDate0000

      public static Date getDate0000(LocalDateTime value)
      获取指定日期的开始时间 如:00:00:00
      参数:
      value - 日期
      返回:
      解析后的日期
    • getDate0000

      public static Date getDate0000(Date value)
      获取指定日期的开始时间 如:00:00:00
      参数:
      value - 日期
      返回:
      解析后的日期
    • getDate0000

      public static Date getDate0000(LocalDate value)
      获取指定日期的开始时间 如:00:00:00
      参数:
      value - 日期
      返回:
      解析后的日期
    • getDate2359

      public static Date getDate2359(LocalDateTime value)
      获取指定日期的结束时间 如:23:59:59
      参数:
      value - 日期
      返回:
      解析后的日期
    • getDate2359

      public static Date getDate2359(Date value)
      获取指定日期的结束时间 如:23:59:59
      参数:
      value - 日期
      返回:
      解析后的日期
    • getDate2359

      public static Date getDate2359(LocalDate value)
      获取指定日期的结束时间 如:23:59:59
      参数:
      value - 日期
      返回:
      解析后的日期
    • localDateTime2Date

      public static Date localDateTime2Date(LocalDateTime localDateTime)
      LocalDateTime转换为Date
      参数:
      localDateTime - 日期
      返回:
      解析后的日期
    • date2LocalDateTime

      public static LocalDateTime date2LocalDateTime(Date date)
      Date转换为LocalDateTime
      参数:
      date - 日期
    • date2LocalDate

      public static LocalDate date2LocalDate(Date date)
      日期转 LocalDate
      参数:
      date - 日期
      返回:
      解析后的日期
    • date2LocalTime

      public static LocalTime date2LocalTime(Date date)
      日期转 LocalTime
      参数:
      date - 日期
      返回:
      解析后的日期
    • getDateTimeOfTimestamp

      public static LocalDateTime getDateTimeOfTimestamp(long epochMilli)
      毫秒转日期
      参数:
      epochMilli - 毫秒
      返回:
      解析后的日期
    • getDateTimeOfSecond

      public static LocalDateTime getDateTimeOfSecond(long epochSecond)
      秒转日期
      参数:
      epochSecond - 秒
      返回:
      解析后的日期
    • until

      public static long until(Date endDate)
      计算结束时间与当前时间间隔的天数
      参数:
      endDate - 结束日期
      返回:
      计算结束时间与当前时间间隔的天数
    • until

      public static long until(Date startDate, Date endDate)
      计算结束时间与开始时间间隔的天数
      参数:
      startDate - 开始日期
      endDate - 结束日期
      返回:
      计算结束时间与开始时间间隔的天数
    • until

      public static long until(LocalDateTime startDate, LocalDateTime endDate)
      计算结束时间与开始时间间隔的天数
      参数:
      startDate - 开始日期
      endDate - 结束日期
      返回:
      计算结束时间与开始时间间隔的天数
    • until

      public static long until(LocalDate startDate, LocalDate endDate)
    • getBetweenDay

      public static List<String> getBetweenDay(Date start, Date end)
      计算2个日期之间的所有的日期 yyyy-MM-dd 含头含尾
      参数:
      start - yyyy-MM-dd
      end - yyyy-MM-dd
      返回:
      日期区间的所有日期
    • getBetweenDay

      public static List<String> getBetweenDay(String start, String end)
      计算2个日期之间的所有的日期 yyyy-MM-dd 含头含尾
      参数:
      start - yyyy-MM-dd
      end - yyyy-MM-dd
    • getBetweenDay

      public static List<String> getBetweenDay(LocalDate startDate, LocalDate endDate)
      计算2个日期之间的所有的日期 yyyy-MM-dd 含头含尾
      参数:
      startDate - yyyy-MM-dd
      endDate - yyyy-MM-dd
    • getBetweenDayEn

      public static List<String> getBetweenDayEn(LocalDate startDate, LocalDate endDate)
    • getBetweenDay

      public static List<String> getBetweenDay(LocalDate startDate, LocalDate endDate, String pattern)
    • getBetweenWeek

      public static List<String> getBetweenWeek(Date start, Date end)
      计算2个日期之间的所有的周 yyyy-ww 含头含尾
      参数:
      start - yyyy-MM-dd
      end - yyyy-MM-dd
    • getBetweenWeek

      public static List<String> getBetweenWeek(String start, String end)
      计算2个日期之间的所有的周 yyyy-ww 含头含尾
      参数:
      start - yyyy-MM-dd
      end - yyyy-MM-dd
      返回:
      2个日期之间的所有的周
    • getBetweenWeek

      public static List<String> getBetweenWeek(LocalDate startDate, LocalDate endDate)
      计算2个日期之间的所有的周 yyyy-ww 含头含尾
      参数:
      startDate - yyyy-MM-dd
      endDate - yyyy-MM-dd
      返回:
      2个日期之间的所有的周
    • getBetweenWeek

      public static List<String> getBetweenWeek(LocalDate startDate, LocalDate endDate, String pattern)
    • getBetweenMonth

      public static List<String> getBetweenMonth(Date start, Date end)
      计算2个日期之间的所有的月 yyyy-MM
      参数:
      start - yyyy-MM-dd
      end - yyyy-MM-dd
      返回:
      2个日期之间的所有的月
    • getBetweenMonth

      public static List<String> getBetweenMonth(String start, String end)
      计算2个日期之间的所有的月 yyyy-MM
      参数:
      start - yyyy-MM-dd
      end - yyyy-MM-dd
      返回:
      2个日期之间的所有的月
    • getBetweenMonth

      public static List<String> getBetweenMonth(LocalDate startDate, LocalDate endDate)
      计算2个日期之间的所有的月 yyyy-MM
      参数:
      startDate - yyyy-MM-dd
      endDate - yyyy-MM-dd
      返回:
      2个日期之间的所有的月
    • getBetweenMonth

      public static List<String> getBetweenMonth(LocalDate startDate, LocalDate endDate, String pattern)
    • calculationEn

      public static String calculationEn(LocalDateTime startTime, LocalDateTime endTime, List<String> dateList)
      计算时间区间内的日期列表,并返回
      参数:
      startTime - 开始
      endTime - 结束
      dateList - 日期
      返回:
      计算时间区间内的日期列表
    • calculation

      public static String calculation(LocalDate startDate, LocalDate endDate, List<String> dateList)
    • calculationEn

      public static String calculationEn(LocalDate startDate, LocalDate endDate, List<String> dateList)
    • getStartTime

      public static LocalDateTime getStartTime(String time)
      计算开始时间
      参数:
      time - 日期
      返回:
      计算开始时间
    • getEndTime

      public static LocalDateTime getEndTime(String time)
      计算结束时间
      参数:
      time - 日期
      返回:
      结束时间 精确到毫秒
    • endOfDay

      public static LocalDateTime endOfDay(LocalDateTime time)
    • between

      public static boolean between(LocalTime from, LocalTime to)
      判断当前时间是否在指定时间范围
      参数:
      from - 开始时间
      to - 结束时间
      返回:
      结果
    • conversionDateTime

      public static LocalDateTime conversionDateTime(LocalDateTime dateTime, String time)
      转换日期

      0: 今天结束的日期 1m: 1分钟后的日期 1h: 1小时后的日期 4d: 4天后的日期 2w: 2周后的日期 3M: 3个月后的日期 5y: 5年后的日期

      参数:
      dateTime - 待转换日期
      time - 转换格式 如: 0 当天23:59:59 1s 1秒后 3m 3分钟后 2w 2周后 1h 1小时后 2H 2小时后 4d 4天后 5M 5月后 6y 6年后
      返回:
      日期
    • getServerStartDate

      public static Date getServerStartDate()
      获取服务器启动时间
    • tranDurationToShow

      public static String tranDurationToShow(Duration duration)
      转换时间显示方式
      参数:
      duration - 时间
      返回: