程序包 dev.utils.common

类 DateUtils


  • public final class DateUtils
    extends java.lang.Object
    detail: 日期工具类
    作者:
    Ttt
    • 方法概要

      所有方法 静态方法 具体方法 
      修饰符和类型 方法 说明
      static int[] convertTimeArys​(int time)
      传入时间, 时间参数 ( 小时、分钟、秒 )
      static java.lang.String formatDate​(java.util.Date date, java.lang.String format)
      将 Date 转换日期字符串
      static java.lang.String formatTime​(long time, java.lang.String format)
      将时间戳转换日期字符串
      static int get12Hour()
      获取时 ( 12 )
      static int get12Hour​(java.util.Date date)
      获取时 ( 12 )
      static int get24Hour()
      获取时 ( 24 )
      static int get24Hour​(java.util.Date date)
      获取时 ( 24 )
      static java.lang.String[] getArrayToHH()
      生成 HH 按时间排序数组
      static java.lang.String[] getArrayToHHMM​(int type)
      生成 HH:mm 按间隔时间排序数组
      static java.lang.String[] getArrayToMM()
      生成 MM 按时间排序数组
      static java.lang.String getConstellation​(int month, int day)
      获取星座
      static java.lang.String getConstellationDate​(int month, int day)
      获取星座日期
      static java.lang.String getDateNow()
      获取当前日期的字符串 ( yyyy-MM-dd HH:mm:ss )
      static java.lang.String getDateNow​(java.lang.String format)
      获取当前日期的字符串
      static int getDay()
      获取日
      static int getDay​(java.util.Date date)
      获取日
      static long getEndTimeDiff​(long startTime, java.lang.String endTime, java.lang.String format)
      获取指定时间距离该时间第二天的指定时段的时间差 ( 判断凌晨情况 )
      static long getEndTimeDiff​(java.lang.String endTime, java.lang.String format)
      获取指定时间距离该时间第二天的指定时段的时间差 ( 判断凌晨情况 )
      static long getEndTimeDiffHHmm​(long startTime, java.lang.String endTime)
      获取指定时间距离该时间第二天的指定时段的时间 ( 判断凌晨情况 )
      static long getEndTimeDiffHHmm​(java.lang.String endTime)
      获取指定时间距离该时间第二天的指定时段的时间 ( 判断凌晨情况 )
      static java.util.List<java.lang.String> getListToHH()
      生成 HH 按时间排序集合
      static java.util.List<java.lang.String> getListToHHMM​(int type)
      生成 HH:mm 按间隔时间排序集合
      static int getListToHHMMPosition​(java.lang.String time, int type)
      获取 HH:mm 按间隔时间排序的集合中, 指定时间所在索引
      static java.util.List<java.lang.String> getListToMM()
      生成 MM 按时间排序集合
      static int getMinute()
      获取分
      static int getMinute​(java.util.Date date)
      获取分
      static int getMonth()
      获取月 (0 - 11) + 1
      static int getMonth​(java.util.Date date)
      获取月 ( 0 - 11 ) + 1
      static int getMonthDayNumber​(int year, int month)
      根据年份、月份, 获取对应的天数
      static int getMonthDayNumberAll​(int year, int month)
      根据年份、月份, 获取对应的天数 ( 完整天数, 无判断是否属于未来日期 )
      static int getSecond()
      获取秒
      static int getSecond​(java.util.Date date)
      获取秒
      static long getTimeDiff​(long time)
      获取时间差 ( 传入时间 - 当前时间 )
      static long getTimeDiff​(java.lang.String time1, java.lang.String time2)
      获取时间差
      static long getTimeDiff​(java.lang.String time1, java.lang.String timeFormat1, java.lang.String time2, java.lang.String timeFormat2)
      获取时间差
      static int getTimeDiffDay​(long time)
      获取时间差 ( 天 )
      static int getTimeDiffHour​(long time)
      获取时间差 ( 小时 )
      static int getTimeDiffMinute​(long time)
      获取时间差 ( 分钟 )
      static int getWeek()
      获取星期数
      static int getWeek​(java.util.Date date)
      获取日期是星期几
      static int getYear()
      获取年
      static int getYear​(java.util.Date date)
      获取年
      static int getYearMonthNumber​(int year)
      根据年份, 获取对应的月份
      static java.lang.String getZodiac​(int year)
      获取生肖
      static boolean isInDate​(java.util.Date nowTime, java.util.Date startTime, java.util.Date endTime)
      判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
      static boolean isInTime​(long nowTime, long startTime, long endTime)
      判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
      static boolean isInTime​(java.lang.String nowTime, java.lang.String startTime, java.lang.String endTime, java.lang.String format)
      判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
      static boolean isInTimeHHmm​(java.lang.String startTime, java.lang.String endTime)
      判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
      static boolean isInTimeHHmm​(java.lang.String nowTime, java.lang.String startTime, java.lang.String endTime)
      判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
      static boolean isInTimeHHmmss​(java.lang.String startTime, java.lang.String endTime)
      判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
      static boolean isInTimeHHmmss​(java.lang.String nowTime, java.lang.String startTime, java.lang.String endTime)
      判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
      static boolean isLeapYear​(int year)
      判断是否闰年
      static java.lang.String millisToFitTimeSpan​(long millis, int precision)
      转换时间
      static int[] millisToTimeArys​(long millis)
      转换时间为数组
      static java.util.Date parseDate​(long time)
      将时间戳转换成 Date
      static java.util.Date parseDate​(java.lang.String time)
      将日期字符串转换为 Date ( 默认表示 time 属于 yyyy-MM-dd HH:mm:ss 格式 )
      static java.util.Date parseDate​(java.lang.String time, java.lang.String format)
      将日期字符串转换为 Date
      static long parseLong​(java.lang.String time)
      解析时间字符串转换为 long 毫秒 ( 默认表示 time 属于 yyyy-MM-dd HH:mm:ss 格式 )
      static long parseLong​(java.lang.String time, java.lang.String format)
      解析时间字符串转换为 long 毫秒
      static java.lang.String parseToString​(java.lang.String time, java.lang.String timeFormat, java.lang.String format)
      转换时间为指定字符串
      static java.lang.String secToTimeRetain​(int time)
      传入时间, 获取时间 ( 00:00:00 格式, 不处理大于一天 )
      static java.lang.String secToTimeRetain​(int time, boolean isHandlerMDay)
      传入时间, 获取时间 ( 00:00:00 格式 )
      static java.lang.String timeAddZero​(int time)
      时间补 0 处理 ( 小于 10, 则自动补充 0x )
      static java.lang.String timeAddZero​(int time, boolean append)
      时间补 0 处理 ( 小于 10, 则自动补充 0x )
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详细资料

      • yyyy

        public static final java.lang.String yyyy
        另请参阅:
        常量字段值
      • yyyyMMdd

        public static final java.lang.String yyyyMMdd
        另请参阅:
        常量字段值
      • yyyyMMdd2

        public static final java.lang.String yyyyMMdd2
        另请参阅:
        常量字段值
      • yyyyMMdd3

        public static final java.lang.String yyyyMMdd3
        另请参阅:
        常量字段值
      • yyyyMMddHHmmss

        public static final java.lang.String yyyyMMddHHmmss
        另请参阅:
        常量字段值
      • yyyyMMddHHmmss_2

        public static final java.lang.String yyyyMMddHHmmss_2
        另请参阅:
        常量字段值
      • yyyyMMdd_HHmmss

        public static final java.lang.String yyyyMMdd_HHmmss
        另请参阅:
        常量字段值
      • MMdd

        public static final java.lang.String MMdd
        另请参阅:
        常量字段值
      • MMdd2

        public static final java.lang.String MMdd2
        另请参阅:
        常量字段值
      • MMdd3

        public static final java.lang.String MMdd3
        另请参阅:
        常量字段值
      • HHmm

        public static final java.lang.String HHmm
        另请参阅:
        常量字段值
      • HHmm2

        public static final java.lang.String HHmm2
        另请参阅:
        常量字段值
      • HHmmss

        public static final java.lang.String HHmmss
        另请参阅:
        常量字段值
      • HHmmss2

        public static final java.lang.String HHmmss2
        另请参阅:
        常量字段值
      • hhmmMMDDyyyy

        public static final java.lang.String hhmmMMDDyyyy
        另请参阅:
        常量字段值
      • hhmmssMMDDyyyy

        public static final java.lang.String hhmmssMMDDyyyy
        另请参阅:
        常量字段值
    • 方法详细资料

      • getDateNow

        public static java.lang.String getDateNow()
        获取当前日期的字符串 ( yyyy-MM-dd HH:mm:ss )
        返回:
        当前日期 yyyy-MM-dd HH:mm:ss 格式字符串
      • getDateNow

        public static java.lang.String getDateNow​(java.lang.String format)
        获取当前日期的字符串
        参数:
        format - 日期格式, 如: yyyy-MM-dd HH:mm:ss
        返回:
        当前日期指定格式字符串
      • formatTime

        public static java.lang.String formatTime​(long time,
                                                  java.lang.String format)
        将时间戳转换日期字符串
        参数:
        time - 时间戳
        format - 日期格式
        返回:
        按照指定格式的日期字符串
      • formatDate

        public static java.lang.String formatDate​(java.util.Date date,
                                                  java.lang.String format)
        将 Date 转换日期字符串
        参数:
        date - 日期
        format - 日期格式
        返回:
        按照指定格式的日期字符串
      • parseDate

        public static java.util.Date parseDate​(long time)
        将时间戳转换成 Date
        参数:
        time - 时间戳
        返回:
        Date
      • parseDate

        public static java.util.Date parseDate​(java.lang.String time)
        将日期字符串转换为 Date ( 默认表示 time 属于 yyyy-MM-dd HH:mm:ss 格式 )
        参数:
        time - 时间
        返回:
        Date
      • parseDate

        public static java.util.Date parseDate​(java.lang.String time,
                                               java.lang.String format)
        将日期字符串转换为 Date
        参数:
        time - 时间
        format - 日期格式
        返回:
        Date
      • parseLong

        public static long parseLong​(java.lang.String time)
        解析时间字符串转换为 long 毫秒 ( 默认表示 time 属于 yyyy-MM-dd HH:mm:ss 格式 )
        参数:
        time - 时间
        返回:
        毫秒时间
      • parseLong

        public static long parseLong​(java.lang.String time,
                                     java.lang.String format)
        解析时间字符串转换为 long 毫秒
        参数:
        time - 时间
        format - 时间的格式
        返回:
        毫秒时间
      • parseToString

        public static java.lang.String parseToString​(java.lang.String time,
                                                     java.lang.String timeFormat,
                                                     java.lang.String format)
        转换时间为指定字符串
        参数:
        time - 需要转换的时间
        timeFormat - time 的时间格式
        format - 把 time 转换成需要的格式
        返回:
        转换指定格式的时间字符串
      • getTimeDiffMinute

        public static int getTimeDiffMinute​(long time)
        获取时间差 ( 分钟 )
        参数:
        time - 毫秒
        返回:
        分钟
      • getTimeDiffHour

        public static int getTimeDiffHour​(long time)
        获取时间差 ( 小时 )
        参数:
        time - 毫秒
        返回:
        小时
      • getTimeDiffDay

        public static int getTimeDiffDay​(long time)
        获取时间差 ( 天 )
        参数:
        time - 毫秒
        返回:
      • getTimeDiff

        public static long getTimeDiff​(long time)
        获取时间差 ( 传入时间 - 当前时间 )
        参数:
        time - 毫秒
        返回:
        与当前时间的时间差 ( 毫秒 )
      • getTimeDiff

        public static long getTimeDiff​(java.lang.String time1,
                                       java.lang.String time2)
        获取时间差
        参数:
        time1 - 时间 yyyy-MM-dd HH:mm:ss 格式
        time2 - 对比时间 yyyy-MM-dd HH:mm:ss 格式
        返回:
        时间差 ( 毫秒 )
      • getTimeDiff

        public static long getTimeDiff​(java.lang.String time1,
                                       java.lang.String timeFormat1,
                                       java.lang.String time2,
                                       java.lang.String timeFormat2)
        获取时间差
        参数:
        time1 - 时间
        timeFormat1 - 时间格式
        time2 - 对比时间
        timeFormat2 - 对比时间格式
        返回:
        时间差 ( 毫秒 )
      • getYear

        public static int getYear​(java.util.Date date)
        获取年
        参数:
        date - 日期
        返回:
      • getMonth

        public static int getMonth​(java.util.Date date)
        获取月 ( 0 - 11 ) + 1
        参数:
        date - 日期
        返回:
      • getDay

        public static int getDay​(java.util.Date date)
        获取日
        参数:
        date - 日期
        返回:
      • getWeek

        public static int getWeek​(java.util.Date date)
        获取日期是星期几
        参数:
        date - 日期
        返回:
      • get24Hour

        public static int get24Hour​(java.util.Date date)
        获取时 ( 24 )
        参数:
        date - 日期
        返回:
      • get12Hour

        public static int get12Hour​(java.util.Date date)
        获取时 ( 12 )
        参数:
        date - 日期
        返回:
      • getMinute

        public static int getMinute​(java.util.Date date)
        获取分
        参数:
        date - 日期
        返回:
      • getSecond

        public static int getSecond​(java.util.Date date)
        获取秒
        参数:
        date - 日期
        返回:
      • timeAddZero

        public static java.lang.String timeAddZero​(int time)
        时间补 0 处理 ( 小于 10, 则自动补充 0x )
        参数:
        time - 待处理时间
        返回:
        自动补 0 时间字符串
      • timeAddZero

        public static java.lang.String timeAddZero​(int time,
                                                   boolean append)
        时间补 0 处理 ( 小于 10, 则自动补充 0x )
        参数:
        time - 待处理时间
        append - 判断是否需要自动补 0
        返回:
        自动补 0 时间字符串
      • getYear

        public static int getYear()
        获取年
        返回:
      • getMonth

        public static int getMonth()
        获取月 (0 - 11) + 1
        返回:
      • getDay

        public static int getDay()
        获取日
        返回:
      • getWeek

        public static int getWeek()
        获取星期数
        返回:
        星期
      • get24Hour

        public static int get24Hour()
        获取时 ( 24 )
        返回:
        24 小时制小时
      • get12Hour

        public static int get12Hour()
        获取时 ( 12 )
        返回:
        12 小时制小时
      • getMinute

        public static int getMinute()
        获取分
        返回:
        分钟
      • getSecond

        public static int getSecond()
        获取秒
        返回:
        秒数
      • isLeapYear

        public static boolean isLeapYear​(int year)
        判断是否闰年
        参数:
        year - 年份
        返回:
        true yes, false no
      • getMonthDayNumberAll

        public static int getMonthDayNumberAll​(int year,
                                               int month)
        根据年份、月份, 获取对应的天数 ( 完整天数, 无判断是否属于未来日期 )
        参数:
        year - 年份
        month - 月份
        返回:
        指定年份所属的月份的天数
      • getYearMonthNumber

        public static int getYearMonthNumber​(int year)
        根据年份, 获取对应的月份
        参数:
        year - 年份
        返回:
        内部判断是否相同一年, 不能超过限制未来的月份
      • getMonthDayNumber

        public static int getMonthDayNumber​(int year,
                                            int month)
        根据年份、月份, 获取对应的天数
        参数:
        year - 年份
        month - 月份
        返回:
        内部判断是否相同一年、月份, 不能超过限制未来的天数
      • getArrayToHH

        public static java.lang.String[] getArrayToHH()
        生成 HH 按时间排序数组
        返回:
        按小时排序的数组
      • getListToHH

        public static java.util.List<java.lang.String> getListToHH()
        生成 HH 按时间排序集合
        返回:
        按小时排序的集合
      • getArrayToMM

        public static java.lang.String[] getArrayToMM()
        生成 MM 按时间排序数组
        返回:
        按分钟排序的数组
      • getListToMM

        public static java.util.List<java.lang.String> getListToMM()
        生成 MM 按时间排序集合
        返回:
        按分钟排序的集合
      • getArrayToHHMM

        public static java.lang.String[] getArrayToHHMM​(int type)
        生成 HH:mm 按间隔时间排序数组
        参数:
        type - 0 = 00:00 - 23:00 = 每 1 小时间隔 1 = 00:00 - 23:45 = 每 15 分钟间隔 2 = 00:00 - 23:30 = 每 30 分钟间隔
        返回:
        指定格式的数组
      • getListToHHMM

        public static java.util.List<java.lang.String> getListToHHMM​(int type)
        生成 HH:mm 按间隔时间排序集合
        参数:
        type - 0 = 00:00 - 23:00 = 每 1 小时间隔 1 = 00:00 - 23:45 = 每 15 分钟间隔 2 = 00:00 - 23:30 = 每 30 分钟间隔
        返回:
        指定格式的集合
      • getListToHHMMPosition

        public static int getListToHHMMPosition​(java.lang.String time,
                                                int type)
        获取 HH:mm 按间隔时间排序的集合中, 指定时间所在索引
        参数:
        time - HH:mm 格式
        type - 0 = 00:00 - 23:00 = 每 1 小时间隔 1 = 00:00 - 23:45 = 每 15 分钟间隔 2 = 00:00 - 23:30 = 每 30 分钟间隔
        返回:
        指定数据, 在对应格式类型内的索引
      • secToTimeRetain

        public static java.lang.String secToTimeRetain​(int time)
        传入时间, 获取时间 ( 00:00:00 格式, 不处理大于一天 )
        参数:
        time - 时间 ( 秒为单位 )
        返回:
        转换 (00:00:00 格式 ) 时间字符串
      • secToTimeRetain

        public static java.lang.String secToTimeRetain​(int time,
                                                       boolean isHandlerMDay)
        传入时间, 获取时间 ( 00:00:00 格式 )
        参数:
        time - 时间 ( 秒为单位 )
        isHandlerMDay - 是否处理大于一天的时间
        返回:
        转换 (00:00:00 格式 ) 时间字符串
      • convertTimeArys

        public static int[] convertTimeArys​(int time)
        传入时间, 时间参数 ( 小时、分钟、秒 )
        参数:
        time - 时间 ( 秒为单位 )
        返回:
        int[] { 小时、分钟、秒 }
      • millisToFitTimeSpan

        public static java.lang.String millisToFitTimeSpan​(long millis,
                                                           int precision)
        转换时间
        参数:
        millis - 时间毫秒
        precision - precision = 0, return null precision = 1, return 天 precision = 2, return 天, 小时 precision = 3, return 天, 小时, 分钟 precision = 4, return 天, 小时, 分钟, 秒 precision = 5, return 天, 小时, 分钟, 秒, 毫秒
        返回:
        转换指定格式的时间字符串
      • millisToTimeArys

        public static int[] millisToTimeArys​(long millis)
        转换时间为数组
        参数:
        millis - 时间毫秒
        返回:
        int[5] { 天, 小时, 分钟, 秒, 毫秒 }
      • isInTimeHHmm

        public static boolean isInTimeHHmm​(java.lang.String startTime,
                                           java.lang.String endTime)
        判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
        参数:
        startTime - 开始时间
        endTime - 结束时间
        返回:
        true yes, false no
      • isInTimeHHmm

        public static boolean isInTimeHHmm​(java.lang.String nowTime,
                                           java.lang.String startTime,
                                           java.lang.String endTime)
        判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
        参数:
        nowTime - 当前时间
        startTime - 开始时间
        endTime - 结束时间
        返回:
        true yes, false no
      • isInTimeHHmmss

        public static boolean isInTimeHHmmss​(java.lang.String startTime,
                                             java.lang.String endTime)
        判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
        参数:
        startTime - 开始时间
        endTime - 结束时间
        返回:
        true yes, false no
      • isInTimeHHmmss

        public static boolean isInTimeHHmmss​(java.lang.String nowTime,
                                             java.lang.String startTime,
                                             java.lang.String endTime)
        判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
        参数:
        nowTime - 当前时间
        startTime - 开始时间
        endTime - 结束时间
        返回:
        true yes, false no
      • isInTime

        public static boolean isInTime​(java.lang.String nowTime,
                                       java.lang.String startTime,
                                       java.lang.String endTime,
                                       java.lang.String format)
        判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
        参数:
        nowTime - 当前时间
        startTime - 开始时间
        endTime - 结束时间
        format - 时间格式
        返回:
        true yes, false no
      • isInTime

        public static boolean isInTime​(long nowTime,
                                       long startTime,
                                       long endTime)
        判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
        参数:
        nowTime - 当前时间
        startTime - 开始时间
        endTime - 结束时间
        返回:
        true yes, false no
      • isInDate

        public static boolean isInDate​(java.util.Date nowTime,
                                       java.util.Date startTime,
                                       java.util.Date endTime)
        判断时间是否在 [startTime, endTime] 区间, 注意时间格式要一致
        参数:
        nowTime - 当前时间
        startTime - 开始时间
        endTime - 结束时间
        返回:
        true yes, false no
      • getEndTimeDiffHHmm

        public static long getEndTimeDiffHHmm​(java.lang.String endTime)
        获取指定时间距离该时间第二天的指定时段的时间 ( 判断凌晨情况 )
        参数:
        endTime - 结束时间 HH:mm
        返回:
        距离指定结束时间还有多少毫秒
      • getEndTimeDiffHHmm

        public static long getEndTimeDiffHHmm​(long startTime,
                                              java.lang.String endTime)
        获取指定时间距离该时间第二天的指定时段的时间 ( 判断凌晨情况 )
        参数:
        startTime - 开始时间
        endTime - 结束时间 HH:mm
        返回:
        距离指定结束时间还有多少毫秒
      • getEndTimeDiff

        public static long getEndTimeDiff​(java.lang.String endTime,
                                          java.lang.String format)
        获取指定时间距离该时间第二天的指定时段的时间差 ( 判断凌晨情况 )
        参数:
        endTime - 结束时间
        format - 格式 如: HH:mm
        返回:
        距离指定结束时间还有多少毫秒
      • getEndTimeDiff

        public static long getEndTimeDiff​(long startTime,
                                          java.lang.String endTime,
                                          java.lang.String format)
        获取指定时间距离该时间第二天的指定时段的时间差 ( 判断凌晨情况 )
             如当前时间 2018-12-07 15:27:23, 判断距离 14:39:20 (endTime) 有多久
             如果过了这个时间段, 则返回 2018-12-08 14:39:20 ( 明天的这个时间段时间 )
             如果没有过这个时间段 ( 如: 17:39:20) 则返回当天时间段 2018-12-07 17:39:20 (2018-12-07 + endTime)
         
        参数:
        startTime - 开始时间
        endTime - 结束时间
        format - 格式 如: HH:mm
        返回:
        距离指定结束时间还有多少毫秒
      • getZodiac

        public static java.lang.String getZodiac​(int year)
        获取生肖
        参数:
        year - 年份
        返回:
        生肖
      • getConstellation

        public static java.lang.String getConstellation​(int month,
                                                        int day)
        获取星座
        参数:
        month - 月份
        day - 天数
        返回:
        星座
      • getConstellationDate

        public static java.lang.String getConstellationDate​(int month,
                                                            int day)
        获取星座日期
        参数:
        month - 月份
        day - 天数
        返回:
        星座日期