Class DateUtils

java.lang.Object
com.luna.common.date.DateUtils

public class DateUtils extends Object
  • Field Details

  • Constructor Details

    • DateUtils

      public DateUtils()
  • Method Details

    • formatDateMonth

      public static String formatDateMonth(Date aDate)
      返回自字符串格式为:yyyy-MM
    • formatDate

      public static String formatDate(Date aDate)
      返回自字符串格式为:yyyy-MM-dd
    • formatDateTime

      public static String formatDateTime(Date date)
      返回自字符串格式为:yyyy-MM-dd HH:mm:ss
    • formatDateTimeStr

      public static String formatDateTimeStr(Date date)
      返回自字符串格式为:yyyyMMddHHmmssSSS
    • formatTime

      public static String formatTime(Date date)
      返回自字符串格式为:HH:mm:ss
    • formatDate

      public static String formatDate(long time)
      返回自字符串格式为:yyyy-MM-dd
    • formatDateMonth

      public static String formatDateMonth(Long time)
      返回自字符串格式为:yyyy-MM
    • formatDateTime

      public static String formatDateTime(long time)
      返回自字符串格式为:yyyy-MM-dd HH:mm:ss
    • formatDateTimeStr

      public static String formatDateTimeStr(long time)
      返回自字符串格式为:yyyyMMddHHmmssSSS
    • formatTime

      public static String formatTime(long time)
      返回自字符串格式为:HH:mm:ss
    • datePath

      public static String datePath()
      日期路径 即年/月/日 如2018/08/08
    • format

      public static String format(String aMask, Date aDate)
      返回自定义格式字符串
    • formatTime

      public static String formatTime(String aMask, Date date)
      返回自定义格式字符串
    • formatTime

      public static String formatTime(String aMask, java.time.temporal.TemporalAccessor aDate)
      返回自定义格式字符串
    • parseDate

      public static Date parseDate(String strDate)
      只支持格式yyyy-MM-dd
    • parseDateMonth

      public static Date parseDateMonth(String strDate)
      只支持格式yyyy-MM
    • parseDateTime

      public static Date parseDateTime(String strDate)
      只支持格式yyyy-MM-dd HH:mm:ss
    • parseDateDay

      public static Date parseDateDay(String strDate)
      只支持格式yyMMdd
    • parseTime

      public static Date parseTime(String timeOnly)
      只支持格式HH:mm:ss
    • parse

      public static Date parse(String aMask, String strDate) throws ParseException
      支持自定义格式转换
      Throws:
      ParseException
    • parse

      public static Date parse(String strDate) throws ParseException
      年4位,月、日、时、分、秒各2位,毫秒3位,支持从右边删除任意部分,如:只有年月日,或者只有年月等
      Throws:
      ParseException
    • format

      public static String format(Long timestamp, String pattern)
      毫秒数转为字符串 按照指定格式转换
      Parameters:
      timestamp -
      Returns:
    • getDateStart

      public static Date getDateStart(String dateStr)
      获取日期的开始时间
      Parameters:
      dateStr - 日期Str
      Returns:
    • getDateEnd

      public static Date getDateEnd(String dateStr)
      获取日期的结束时间
      Parameters:
      dateStr - 日期Str
      Returns:
    • getServerStartDate

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

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

      public static long getCurrentTimestamp()
      获取当前时间戳,单位秒
      Returns:
    • getCurrentTimestampMs

      public static long getCurrentTimestampMs()
      获取当前时间戳,单位毫秒
      Returns:
    • getCurrentDate

      public static Date getCurrentDate()
    • getTimeInteval

      public static String getTimeInteval(Date date)
    • addYears

      public static Date addYears(Date date, int amount)
    • addMonths

      public static Date addMonths(Date date, int amount)
    • addWeeks

      public static Date addWeeks(Date date, int amount)
    • addDays

      public static Date addDays(Date date, int amount)
    • addHours

      public static Date addHours(Date date, int amount)
    • addMinutes

      public static Date addMinutes(Date date, int amount)
    • addSeconds

      public static Date addSeconds(Date date, int amount)
    • getTodayString

      public static String getTodayString()
    • nextDate

      public static String nextDate(String strdate) throws ParseException
      Throws:
      ParseException
    • getYear

      public static int getYear(Long date)
    • getYear

      public static int getYear(Date date)
    • appendTime

      public static String appendTime(String date)
    • getMorning

      public static Date getMorning(Date date)
      获取凌晨00:00:00
      Parameters:
      date - 任意时间
      Returns:
      Date
    • getMorningStr

      public static String getMorningStr(Date date)
      获取给定日期0点时间的字符串
      Parameters:
      date - 任意时间
      Returns:
      String
    • getNightStr

      public static String getNightStr(Date date)
      获取给定日期23.59.59秒的时间字符串
      Parameters:
      date - 任意时间当天
      Returns:
      String
    • getNight

      public static Date getNight(Date date)
      获得 某天的23:59:59
      Parameters:
      date - 任意时间
      Returns:
      Date
    • getWeekOfYear

      public static int getWeekOfYear(Date date)
      取得日期是某年的第几周
      Parameters:
      date - 任意时间
      Returns:
      int
    • getDaysBetween

      public static long getDaysBetween(Date beginDate, Date endDate)
      得两个日期之间的相差多少天
    • between

      public static long between(Date end, Date begin, DateUnit unit)
      判断两个日期相差的时长
      返回 给定单位的时长差
      Parameters:
      unit - 相差的单位:相差 天DateUnit.DAY、小时DateUnit.HOUR
      Returns:
      时长差
    • getWeekDay

      public static int getWeekDay(Date date)
      根据日期取得星期几 weekIndex = 0 表示星期日,依次类推
    • getWeekDayEnum

      public static DayWeekEnum getWeekDayEnum(Date date)
    • setWeekDay

      public static Date setWeekDay(Date date, int weekIndex)
      设置日期到那一周的周几,weekIndex = 0 表示星期日,依次类推
    • firstDayInMonth

      public static boolean firstDayInMonth()
    • isDayOfMonth

      public static boolean isDayOfMonth(Date date, int day)
      date是否是给定的第x天
      Parameters:
      date - date
      day - day
      Returns:
      boolean
    • getMonthBeginStamp

      public static long getMonthBeginStamp()
      获取当月0点毫秒时间
      Returns:
      long
    • getMonthEndStamp

      public static long getMonthEndStamp()
      获取当月月底毫秒时间
      Returns:
      long
    • getMonthBeginStamp

      public static long getMonthBeginStamp(Date date)
      获取指定时间当月0点毫秒时间
      Returns:
      long
    • getMonthBeginDateTime

      public static Date getMonthBeginDateTime(Date date)
      获取指定时间当月0点毫秒时间
      Returns:
      long
    • getLastStampOfMonth

      public static long getLastStampOfMonth(Date date)
      获得某月的最后一天的最后时刻
      Parameters:
      date - 要获取的月份
      Returns:
      long
    • getLastDateTimeOfMonth

      public static Date getLastDateTimeOfMonth(Date date)
      获得某月的最后一天的最后时间
      Parameters:
      date - 要获取的月份
      Returns:
      Date
    • thisYear

      public static int thisYear()
      当前年份
      Returns:
    • isLeapYear

      public static boolean isLeapYear(int year)
      是否闰年
      Parameters:
      year - 年
      Returns:
      是否闰年
    • getQuarterStartTime

      public static Date getQuarterStartTime(Date date)
      当前季度的开始时间
      Returns:
      Date
    • getQuarterStartStamp

      public static long getQuarterStartStamp(Date date)
      当前季度的开始时间
      Returns:
      long
    • getQuarterEndTime

      public static Date getQuarterEndTime(Date date)
      当前季度的结束时间
      Returns:
      Date
    • getQuarterEndStamp

      public static long getQuarterEndStamp(Date date)
      当前季度的结束时间
      Returns:
      long
    • quarterTime

      public static org.apache.commons.lang3.tuple.Pair<Long,Long> quarterTime(Date date)
      获取当前日期所属季度开始结束时间
      Parameters:
      date - 任意时间
      Returns:
    • quarterTime

      public static org.apache.commons.lang3.tuple.Pair<Long,Long> quarterTime()
      获取日期所属季度开始结束时间
      Returns:
    • getYearStartTime

      public static Date getYearStartTime(Date date)
      当前年的开始时间
      Returns:
      Date
    • getYearStartStamp

      public static long getYearStartStamp(Date date)
      当前年的开始时间
      Returns:
      long
    • getYearEndTime

      public static Date getYearEndTime(Date date)
      当前年的结束时间
      Returns:
      Date
    • getYearEndStamp

      public static long getYearEndStamp(Date date)
      当前年的结束时间
      Returns:
      long
    • getWeekDayStartTime

      public static Date getWeekDayStartTime(Date date)
      获得本周的第一天,周一
      Returns:
      Date
    • getWeekDayStartStamp

      public static long getWeekDayStartStamp(Date date)
      获得本周的第一天,周一
      Returns:
      long
    • getWeekDayEndTime

      public static Date getWeekDayEndTime(Date date)
      获得本周的最后一天,周日
      Returns:
      Date
    • getWeekDayEndStamp

      public static long getWeekDayEndStamp(Date date)
      获得本周的最后一天,周日
      Returns:
      long
    • getHalfYearStartTime

      public static Date getHalfYearStartTime(Date date)
      获取前/后半年的开始时间
      Returns:
      date
    • getHalfYearStartStamp

      public static long getHalfYearStartStamp(Date date)
      获取前/后半年的开始时间
      Returns:
      date
    • getHalfYearEndTime

      public static Date getHalfYearEndTime(Date date)
      获取前/后半年的结束时间
      Returns:
      date
    • getHalfYearEndStamp

      public static long getHalfYearEndStamp(Date date)
      获取前/后半年的结束时间
      Returns:
      date
    • getBetweenWithDay

      public static List<Long> getBetweenWithDay(Date startDate, Date endDate)
      获取间隔 1 天 的时间列表
      Parameters:
      startDate - 开始时间
      endDate - 结束时间
      Returns:
      List
    • getBetweenWithWeek

      public static List<Long> getBetweenWithWeek(Date startDate, Date endDate)
      获取间隔 1 周 的时间列表
      Parameters:
      startDate - 开始时间
      endDate - 结束时间
      Returns:
      List
    • getBetweenWithMonth

      public static List<Long> getBetweenWithMonth(Date startDate, Date endDate)
      获取间隔 1月 (30.44 天) 的时间列表
      Parameters:
      startDate - 开始时间
      endDate - 结束时间
      Returns:
      List
    • getBetweenWithYear

      public static List<Long> getBetweenWithYear(Date startDate, Date endDate)
      获取间隔 1年 (365.24 天) 的时间列表
      Parameters:
      startDate - 开始时间
      endDate - 结束时间
      Returns:
      List
    • dateBetween

      public static List<Long> dateBetween(Long startDate, Long endDate, Long interval)
      获取两个时间直接指定间隔天数列表
      Parameters:
      startDate - 开始时间
      endDate - 结束时间
      interval - 时间间隔
      Returns:
      List