类 EasyDate

  • 所有已实现的接口:
    java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<java.lang.Object>

    public class EasyDate
    extends java.lang.Object
    implements java.lang.Comparable<java.lang.Object>, java.lang.Cloneable, java.io.Serializable
    实现常用日期扩展方法的日期工具类(实现Comparable可比较接口、Cloneable可复制接口)
    作者:
    Ready
    另请参阅:
    序列化表格
    • 字段概要

      字段 
      修饰符和类型 字段 说明
      static java.lang.String DATE
      yyyy-MM-dd 格式的日期转换器
      static java.lang.String DATETIME
      yyyy-MM-dd HH:mm:ss 格式的日期转换器
      static java.lang.String GMT_DATE
      GMT标准格式的日期转换器[d MMM yyyy HH:mm:ss 'GMT']
      static java.lang.String GMT_NET_DATE
      Internet GMT标准格式的日期转换器[EEE, d MMM yyyy HH:mm:ss 'GMT']
      static long MILLIS_OF_DAY
      一天的毫秒数
      static long MILLIS_OF_HOUR
      一小时的毫秒数
      static long MILLIS_OF_MINUTE
      一分钟的毫秒数
      static java.lang.String SHORT_DATE
      yyyyMMdd 格式的日期转换器
      static java.lang.String YM_DATE
      yyyyMM 格式的日期转换器
    • 构造器概要

      构造器 
      构造器 说明
      EasyDate()
      构造一个当前时间的日期实例对象
      EasyDate​(int year, int month, int day, int... args)
      根据年、月、日、时、分、秒、毫秒部分的值构造对应的实例对象
      EasyDate​(long date)
      根据指定的毫秒数构造对应的实例对象
      EasyDate​(java.util.Calendar date, int offsetYear, int offsetMonth, int offsetDay)
      根据相对于指定时间的偏移值构造一个对应的实例对象
      例如,当前时间为:2012-10-10 例如要创建一个2013-10-10的时间对象,new EasyDate(null, 1, 0, 0)即可;
      创建一个2011-8-10的时间对象,new EasyDate(null, -1, -2, 0)或new EasyDate(null, 0, -14, 0)
      EasyDate​(java.util.Date date)
      将常用日期对象封装为当前日期类实例对象
      EasyDate​(java.util.Date date, int offsetYear, int offsetMonth, int offsetDay)
      根据相对于指定时间的偏移值构造一个对应的实例对象
      例如,当前时间为:2012-10-10 例如要创建一个2013-10-10的时间对象,new EasyDate(null, 1, 0, 0)即可;
      创建一个2011-8-10的时间对象,new EasyDate(null, -1, -2, 0)或new EasyDate(null, 0, -14, 0)
      EasyDate​(EasyDate date, int offsetYear, int offsetMonth, int offsetDay)
      根据相对于指定时间的偏移值构造一个对应的实例对象
      例如,当前时间为:2012-10-10 例如要创建一个2013-10-10的时间对象,new EasyDate(null, 1, 0, 0)即可;
      创建一个2011-8-10的时间对象,new EasyDate(null, -1, -2, 0)或new EasyDate(null, 0, -14, 0)
    • 方法概要

      所有方法 静态方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      EasyDate addDay​(int day)
      追加指定的天数,例如:当前是2012-05-12,调用addDay(2),则为2012-05-14
      EasyDate addHour​(int hour)
      追加指定的小时数,例如:当前是2012-05-12 12:12:56,调用addHour(3),则为2012-05-12 15:12:56
      EasyDate addMillisecond​(int ms)
      追加指定的秒数,例如:当前是2012-05-12 09:12:56 123,调用addMillisecond(123),则为2012-05-12 09:12:56 246
      EasyDate addMinute​(int minute)
      追加指定的分钟数,例如:当前是2012-05-12 09:12:56,调用addMinute(3),则为2012-05-12 09:15:56
      EasyDate addMonth​(int month)
      追加指定的月数,例如:当前是2012-05-12,调用addMonth(2),则为2012-07-12
      EasyDate addSecond​(int second)
      追加指定的秒数,例如:当前是2012-05-12 09:12:56,调用addSecond(3),则为2012-05-12 09:12:59
      EasyDate addTime​(long time)
      追加指定的毫秒数
      EasyDate addYear​(int year)
      追加指定的年数,例如:当前年是2012,调用addYear(2),则年份为2014
      boolean after​(java.lang.Object date)
      判断是否在指定日期的时间之后
      boolean before​(java.lang.Object date)
      判断是否在指定日期的时间之前
      EasyDate beginOf​(int field)
      将当前实例设置为指定时间字段范围内所能表示的最小值
      static java.util.Date beginOf​(java.util.Date d, int field)
      将当前实例设置为指定时间字段范围内所能表示的最小值
      int calcDifference​(java.lang.Object dateObj)
      计算并返回当前日期与指定日期之间基于向上取整模式的天数差值
      如果当前日期大于等于指定日期,则返回正数,否则返回负数
      long calcDifference​(java.lang.Object date, int field)
      计算并返回当前日期与指定日期之间基于指定单位和向上取整模式的差值
      如果当前日期大于等于指定日期,则返回正数,否则返回负数
      long calcDifference​(java.lang.Object date, int field, java.math.RoundingMode roundingMode)
      计算并返回当前日期与指定日期之间基于指定单位和舍入模式的差值
      如果当前日期大于等于指定日期,则返回正数,否则返回负数
      java.lang.Object clone()  
      int compareTo​(java.lang.Object date)
      与指定日期进行比较,如果大于指定的日期返回正数;等于返回0;小于返回负数
      EasyDate endOf​(int field)
      将当前实例设置为指定时间字段所能表示的最大值
      static java.util.Date endOf​(java.util.Date d, int field)
      将当前实例设置为指定时间字段所能表示的最大值
      boolean equals​(java.lang.Object obj)  
      static void fillNumberToChars​(char[] chars, int number, int start, int length)
      将指定的数字设置到指定的字符数组中的指定索引处,从右向左依次填充,并最多填充指定的长度
      static void formatNormalDate​(char[] chars, int offset, int year, int month, int day)  
      protected static void formatNormalDateTime​(char[] chars, int year, int month, int day, int hour, int minute, int second)  
      static void formatNormalTime​(char[] chars, int offset, int hour, int minute, int second)  
      java.util.Calendar getCalendar()
      获取内置的日历对象
      int getDay()
      获取日期的日;月份的第一天返回1
      int getDayOfYear()
      获取指定的日期是该年的第几天
      int getHour()
      获取日期的时,返回值0~23
      int getLastDayOfMonth()
      获取当前月的最后一天
      static int getMaxDayOfMonth​(java.util.Date d)  
      int getMillisecond()
      获取日期的毫秒部分的值,返回值0~999
      static long getMillisOfUnit​(int field)
      获取指定日历单位所对应的毫秒值,单位仅支持"天"及其以下的单位
      int getMinute()
      获取日期的分,返回值0~59
      int getMonth()
      获取日期的月;返回值为1(一月)~12(十二月)
      int getSecond()
      获取日期的秒,返回值0~59
      long getTime()
      获取日期的时间值,以毫秒为单位
      static long getTimeOfDate​(java.lang.Object date)
      返回自 1970 年 1 月 1 日 00:00:00 GMT 以来指定日期对象表示的毫秒数。
      java.util.TimeZone getTimeZone()
      获取当前时间对象的时区设置
      int getTimeZoneOffset()
      获取本地时间相对于GMT时间的偏移分钟数
      int getWeekDay()
      获取日期的星期;返回值为1(星期一)~7(星期天)
      int getWeeksOfMonth()
      获取日期当前月份的星期数
      int getWeeksOfYear()
      获取日期当前年份的星期数
      int getYear()
      获取日期的年,例如:2012
      int hashCode()  
      protected void initCalendar​(java.util.Calendar calendar)
      初始化日历对象相关设置
      boolean isLeapYear()
      判断当前日期年份是否为闰年
      boolean isLeapYear​(int year)
      判断指定年份是否为闰年
      static boolean isSameAs​(long a, long b, int inField)
      比较两个以毫秒数表示的时间值是否处于同一年/月/天/小时/分钟/秒/毫秒
      boolean isSameAs​(java.lang.Object date, int inField)
      当前时间是否与指定时间是否处于同一年/月/天/小时/分钟/秒/毫秒
      时间对象可以为:DateEasyDateCalendar
      static boolean isSameAs​(java.lang.Object a, java.lang.Object b, int inField)
      比较两个时间值是否处于同一年/月/天/小时/分钟/秒/毫秒
      时间对象可以为:DateEasyDateCalendar
      static boolean isSameDay​(java.util.Date a, java.util.Date b)
      判断两个日期对象是否是同一天(不考虑时区差异)
      static EasyDate parse​(java.lang.String format, java.lang.String dateStr)
      将指定格式的字符串转为对应的日期实例对象
      static EasyDate parse​(java.text.DateFormat format, java.lang.String date)
      将指定格式的字符串转为对应的日期实例对象
      EasyDate resetAs​(int year, int month, int day, int... args)
      根据年、月、日、时、分、秒、毫秒部分的值重置当前实例对象
      EasyDate set​(int year, int month, int day, int... args)
      设置日期的年、月、日、时、分、秒、毫秒等部分的值
      如果未指定指定部分的值,则不会进行该部分的设置
      EasyDate setDate​(java.util.Date date)
      以指定日期对象来重新设置日期
      EasyDate setDay​(int day)
      设置日期的日;月份的第一天为1
      EasyDate setHour​(int hour)
      设置日期的时,值为0~23
      EasyDate setMillisecond​(int ms)
      设置日期的毫秒部分的值,值为0~999
      EasyDate setMinute​(int minute)
      设置日期的分,值为0~59
      EasyDate setMonth​(int month)
      设置日期的月;值为1(一月)~12(十二月)
      static void setNumberToChars​(char[] chars, int number, int start, int length)
      将指定的数字设置到指定的字符数组中的指定索引处,并填充指定的长度,如果数字的长度不够,则在前面填充0
      EasyDate setSecond​(int second)
      设置日期的秒,值为0~59
      EasyDate setTime​(long date)
      设置日期的时间值,以毫秒为单位
      EasyDate setTimeZone​(java.util.TimeZone timeZone)
      设置时区
      EasyDate setTimeZoneOffset​(int inMinutes)
      设置本地时间相对于GMT时间的偏移分钟数
      EasyDate setYear​(int year)
      设置日期的年,例如:2012
      static EasyDate smartParse​(java.lang.String date)
      根据日期字符串的长度智能转换为对应的日期实例对象
      长度和格式对应如下(找不到对应格式将报错):
      6=201206(年月)
      8=20120126(年月日)
      10=2012-01-02(年-月-日)
      19=2012-01-02 13:22:56(年-月-日 时:分:秒)
      java.util.Date toDate()
      转为java.util.Date
      java.lang.String toDateString()
      返回"yyyy年MM月dd日"格式的字符串
      static java.lang.String toDateString​(int year, int month, int day)
      返回"yyyy年MM月dd日"格式的字符串
      static java.lang.String toDateString​(java.util.Date d)
      返回"yyyy年MM月dd日"格式的字符串
      java.lang.String toDateTimeString()
      返回"yyyy-MM-dd HH:mm:ss"格式的字符串
      static java.lang.String toDateTimeString​(int year, int month, int day, int hour, int minute, int second)
      返回"yyyy-MM-dd HH:mm:ss"格式的字符串
      static java.lang.String toDateTimeString​(java.util.Date d)
      返回"yyyy-MM-dd HH:mm:ss"格式的字符串
      java.lang.String toGMTNetString()
      返回Internet GMT标准格式的字符串,例如:Sat, 1 Dec 2012 23:05:00 GMT
      java.lang.String toGMTString()
      返回GMT标准格式的字符串,例如:1 Dec 2012 15:05:00 GMT
      java.lang.String toLongString()
      返回"yyyy-MM-dd HH:mm:ss sss"格式的字符串
      static java.lang.String toLongString​(int year, int month, int day, int hour, int minute, int second, int ms)
      返回"yyyy-MM-dd HH:mm:ss sss"格式的字符串
      static java.lang.String toLongString​(java.util.Date d)
      返回"yyyy-MM-dd HH:mm:ss sss"格式的字符串
      java.lang.String toShortString()
      返回"yyyyMMdd"格式的字符串
      static java.lang.String toShortString​(int year, int month, int day)
      返回"yyyyMMdd"格式的字符串
      static java.lang.String toShortString​(java.util.Date d)
      返回"yyyyMMdd"格式的字符串
      java.sql.Date toSqlDate()
      转为java.sql.Date
      java.lang.String toString()
      返回"yyyy-MM-dd"格式的字符串
      java.lang.String toString​(java.text.Format format)
      返回使用日期格式化工具格式化后的字符串
      static java.lang.String toString​(java.util.Date d)
      返回"yyyy-MM-dd"格式的字符串
      java.sql.Time toTime()
      转为java.sql.Time
      java.sql.Timestamp toTimestamp()
      转为java.sql.Timestamp
      static EasyDate valueOf​(java.lang.Object dateObj)
      将指定的java.util.Calendar对象转为EasyDate日期对象
      如果指定对象对null,则返回null
      static EasyDate valueOf​(java.lang.String date)
      将指定的字符串转为EasyDate日期对象
      如果指定对象对null,则返回null
      • 从类继承的方法 java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
    • 字段详细资料

      • DATE

        public static final java.lang.String DATE
        yyyy-MM-dd 格式的日期转换器
        另请参阅:
        常量字段值
      • DATETIME

        public static final java.lang.String DATETIME
        yyyy-MM-dd HH:mm:ss 格式的日期转换器
        另请参阅:
        常量字段值
      • SHORT_DATE

        public static final java.lang.String SHORT_DATE
        yyyyMMdd 格式的日期转换器
        另请参阅:
        常量字段值
      • YM_DATE

        public static final java.lang.String YM_DATE
        yyyyMM 格式的日期转换器
        另请参阅:
        常量字段值
      • GMT_DATE

        public static final java.lang.String GMT_DATE
        GMT标准格式的日期转换器[d MMM yyyy HH:mm:ss 'GMT']
        另请参阅:
        常量字段值
      • GMT_NET_DATE

        public static final java.lang.String GMT_NET_DATE
        Internet GMT标准格式的日期转换器[EEE, d MMM yyyy HH:mm:ss 'GMT']
        另请参阅:
        常量字段值
      • MILLIS_OF_MINUTE

        public static final long MILLIS_OF_MINUTE
        一分钟的毫秒数
        另请参阅:
        常量字段值
      • MILLIS_OF_HOUR

        public static final long MILLIS_OF_HOUR
        一小时的毫秒数
        另请参阅:
        常量字段值
      • MILLIS_OF_DAY

        public static final long MILLIS_OF_DAY
        一天的毫秒数
        另请参阅:
        常量字段值
    • 构造器详细资料

      • EasyDate

        public EasyDate​(java.util.Date date)
        将常用日期对象封装为当前日期类实例对象
      • EasyDate

        public EasyDate()
        构造一个当前时间的日期实例对象
      • EasyDate

        public EasyDate​(long date)
        根据指定的毫秒数构造对应的实例对象
      • EasyDate

        public EasyDate​(java.util.Date date,
                        int offsetYear,
                        int offsetMonth,
                        int offsetDay)
        根据相对于指定时间的偏移值构造一个对应的实例对象
        例如,当前时间为:2012-10-10 例如要创建一个2013-10-10的时间对象,new EasyDate(null, 1, 0, 0)即可;
        创建一个2011-8-10的时间对象,new EasyDate(null, -1, -2, 0)或new EasyDate(null, 0, -14, 0)
        参数:
        date - 指定的时间,作为偏移量的参考对象,如果为null,则默认使用当前时间作为参考对象
        该对象支持DateEasyDateCalendar等对象及其子类实例
        offsetYear - 相对于当前时间的年份偏移量
        offsetMonth - 相对于当前时间的月份偏移量
        offsetDay - 相对于当前时间的日期偏移量
      • EasyDate

        public EasyDate​(EasyDate date,
                        int offsetYear,
                        int offsetMonth,
                        int offsetDay)
        根据相对于指定时间的偏移值构造一个对应的实例对象
        例如,当前时间为:2012-10-10 例如要创建一个2013-10-10的时间对象,new EasyDate(null, 1, 0, 0)即可;
        创建一个2011-8-10的时间对象,new EasyDate(null, -1, -2, 0)或new EasyDate(null, 0, -14, 0)
        参数:
        date - 指定的时间,作为偏移量的参考对象,如果为null,则默认使用当前时间作为参考对象
        该对象支持DateEasyDateCalendar等对象及其子类实例
        offsetYear - 相对于当前时间的年份偏移量
        offsetMonth - 相对于当前时间的月份偏移量
        offsetDay - 相对于当前时间的日期偏移量
      • EasyDate

        public EasyDate​(java.util.Calendar date,
                        int offsetYear,
                        int offsetMonth,
                        int offsetDay)
        根据相对于指定时间的偏移值构造一个对应的实例对象
        例如,当前时间为:2012-10-10 例如要创建一个2013-10-10的时间对象,new EasyDate(null, 1, 0, 0)即可;
        创建一个2011-8-10的时间对象,new EasyDate(null, -1, -2, 0)或new EasyDate(null, 0, -14, 0)
        参数:
        date - 指定的日历对象,作为偏移量的参考对象,如果为null,则默认使用当前时间作为参考对象
        offsetYear - 相对于当前时间的年份偏移量
        offsetMonth - 相对于当前时间的月份偏移量
        offsetDay - 相对于当前时间的日期偏移量
      • EasyDate

        public EasyDate​(int year,
                        int month,
                        int day,
                        int... args)
        根据年、月、日、时、分、秒、毫秒部分的值构造对应的实例对象
        参数:
        year - 年份,如2012
        month - 月份,如12
        day - 日
        args - (可选,依次为)时、分、秒、毫秒
    • 方法详细资料

      • initCalendar

        protected void initCalendar​(java.util.Calendar calendar)
        初始化日历对象相关设置
      • getTimeOfDate

        public static long getTimeOfDate​(@Nullable
                                         java.lang.Object date)
        返回自 1970 年 1 月 1 日 00:00:00 GMT 以来指定日期对象表示的毫秒数。
        如果为null,则默认为当前时间
      • resetAs

        public EasyDate resetAs​(int year,
                                int month,
                                int day,
                                int... args)
        根据年、月、日、时、分、秒、毫秒部分的值重置当前实例对象
        参数:
        year - 年份,如2012
        month - 月份,如12
        day - 日
        args - (可选,依次为)时、分、秒、毫秒(均默认为 0)
      • getYear

        public int getYear()
        获取日期的年,例如:2012
      • setYear

        public EasyDate setYear​(int year)
        设置日期的年,例如:2012
      • addYear

        public EasyDate addYear​(int year)
        追加指定的年数,例如:当前年是2012,调用addYear(2),则年份为2014
        参数:
        year - 指定的年数,可以为负数
      • getMonth

        public int getMonth()
        获取日期的月;返回值为1(一月)~12(十二月)
      • setMonth

        public EasyDate setMonth​(int month)
        设置日期的月;值为1(一月)~12(十二月)
      • addMonth

        public EasyDate addMonth​(int month)
        追加指定的月数,例如:当前是2012-05-12,调用addMonth(2),则为2012-07-12
        参数:
        month - 指定的月数,可以为负数
      • set

        public EasyDate set​(int year,
                            int month,
                            int day,
                            int... args)
        设置日期的年、月、日、时、分、秒、毫秒等部分的值
        如果未指定指定部分的值,则不会进行该部分的设置
        从以下版本开始:
        0.3
      • getDay

        public int getDay()
        获取日期的日;月份的第一天返回1
      • getDayOfYear

        public int getDayOfYear()
        获取指定的日期是该年的第几天
      • setDay

        public EasyDate setDay​(int day)
        设置日期的日;月份的第一天为1
      • addDay

        public EasyDate addDay​(int day)
        追加指定的天数,例如:当前是2012-05-12,调用addDay(2),则为2012-05-14
        参数:
        day - 指定的天数,可以为负数
      • getWeekDay

        public int getWeekDay()
        获取日期的星期;返回值为1(星期一)~7(星期天)
      • getHour

        public int getHour()
        获取日期的时,返回值0~23
      • setHour

        public EasyDate setHour​(int hour)
        设置日期的时,值为0~23
      • addHour

        public EasyDate addHour​(int hour)
        追加指定的小时数,例如:当前是2012-05-12 12:12:56,调用addHour(3),则为2012-05-12 15:12:56
        参数:
        hour - 指定的小时数,可以为负数
      • getMinute

        public int getMinute()
        获取日期的分,返回值0~59
      • setMinute

        public EasyDate setMinute​(int minute)
        设置日期的分,值为0~59
        参数:
        minute - 指定的分钟数
      • addMinute

        public EasyDate addMinute​(int minute)
        追加指定的分钟数,例如:当前是2012-05-12 09:12:56,调用addMinute(3),则为2012-05-12 09:15:56
        参数:
        minute - 指定的分钟数,可以为负数
      • getSecond

        public int getSecond()
        获取日期的秒,返回值0~59
      • setSecond

        public EasyDate setSecond​(int second)
        设置日期的秒,值为0~59
      • addMillisecond

        public EasyDate addMillisecond​(int ms)
        追加指定的秒数,例如:当前是2012-05-12 09:12:56 123,调用addMillisecond(123),则为2012-05-12 09:12:56 246
        参数:
        ms - 指定的毫秒数,可以为负数
      • getMillisecond

        public int getMillisecond()
        获取日期的毫秒部分的值,返回值0~999
      • setMillisecond

        public EasyDate setMillisecond​(int ms)
        设置日期的毫秒部分的值,值为0~999
      • addSecond

        public EasyDate addSecond​(int second)
        追加指定的秒数,例如:当前是2012-05-12 09:12:56,调用addSecond(3),则为2012-05-12 09:12:59
        参数:
        second - 指定的秒数,可以为负数
      • getTime

        public long getTime()
        获取日期的时间值,以毫秒为单位
      • setTime

        public EasyDate setTime​(long date)
        设置日期的时间值,以毫秒为单位
      • addTime

        public EasyDate addTime​(long time)
        追加指定的毫秒数
        参数:
        time - 指定的毫秒数,可以为负数
      • setDate

        public EasyDate setDate​(java.util.Date date)
        以指定日期对象来重新设置日期
      • getWeeksOfMonth

        public int getWeeksOfMonth()
        获取日期当前月份的星期数
      • getWeeksOfYear

        public int getWeeksOfYear()
        获取日期当前年份的星期数
      • getCalendar

        public java.util.Calendar getCalendar()
        获取内置的日历对象
      • smartParse

        public static EasyDate smartParse​(java.lang.String date)
        根据日期字符串的长度智能转换为对应的日期实例对象
        长度和格式对应如下(找不到对应格式将报错):
        6=201206(年月)
        8=20120126(年月日)
        10=2012-01-02(年-月-日)
        19=2012-01-02 13:22:56(年-月-日 时:分:秒)
      • valueOf

        public static EasyDate valueOf​(java.lang.Object dateObj)
        将指定的java.util.Calendar对象转为EasyDate日期对象
        如果指定对象对null,则返回null
      • valueOf

        public static EasyDate valueOf​(java.lang.String date)
        将指定的字符串转为EasyDate日期对象
        如果指定对象对null,则返回null
      • parse

        public static EasyDate parse​(java.text.DateFormat format,
                                     java.lang.String date)
        将指定格式的字符串转为对应的日期实例对象
        参数:
        format - 一般情况无需自己创建,可直接调用EasyDate.DATE、EasyDate.DATETIME、EasyDate. SHORT_DATE等内置的日期转换对象
        date - 日期字符串
      • parse

        public static EasyDate parse​(java.lang.String format,
                                     java.lang.String dateStr)
        将指定格式的字符串转为对应的日期实例对象
        参数:
        format - 指定的格式字符串,例如“yyyy-MM-dd”,内部将使用 FastDateFormat 进行转换
        dateStr - 日期字符串
      • toDate

        public java.util.Date toDate()
        转为java.util.Date
      • toSqlDate

        public java.sql.Date toSqlDate()
        转为java.sql.Date
      • toTimestamp

        public java.sql.Timestamp toTimestamp()
        转为java.sql.Timestamp
      • toTime

        public java.sql.Time toTime()
        转为java.sql.Time
      • compareTo

        public int compareTo​(java.lang.Object date)
        与指定日期进行比较,如果大于指定的日期返回正数;等于返回0;小于返回负数
        指定者:
        compareTo 在接口中 java.lang.Comparable<java.lang.Object>
        参数:
        date - 支持 DateCalendarEasyDate 等对象及其子类的比较
      • calcDifference

        public long calcDifference​(java.lang.Object date,
                                   int field,
                                   java.math.RoundingMode roundingMode)
        计算并返回当前日期与指定日期之间基于指定单位和舍入模式的差值
        如果当前日期大于等于指定日期,则返回正数,否则返回负数
        参数:
        date - 与当前日期进行比较的日期
        field - 指定的日期字段,返回值将以此为单位返回两个日期的差距值
        roundingMode - 舍入模式
      • calcDifference

        public long calcDifference​(java.lang.Object date,
                                   int field)
        计算并返回当前日期与指定日期之间基于指定单位和向上取整模式的差值
        如果当前日期大于等于指定日期,则返回正数,否则返回负数
        参数:
        date - 与当前日期进行比较的日期
        field - 指定的日期字段,返回值将以此为单位返回两个日期的差距值
      • calcDifference

        public int calcDifference​(java.lang.Object dateObj)
        计算并返回当前日期与指定日期之间基于向上取整模式的天数差值
        如果当前日期大于等于指定日期,则返回正数,否则返回负数
        参数:
        dateObj - 与当前日期进行比较的日期
      • isLeapYear

        public boolean isLeapYear​(int year)
        判断指定年份是否为闰年
        参数:
        year - 例如2012
      • isLeapYear

        public boolean isLeapYear()
        判断当前日期年份是否为闰年
      • getMillisOfUnit

        public static long getMillisOfUnit​(int field)
        获取指定日历单位所对应的毫秒值,单位仅支持"天"及其以下的单位
        参数:
        field - 该方法支持的字段有Calendar.YEARCalendar.MONTHCalendar.DAY_OF_MONTHCalendar.HOUR_OF_DAYCalendar.MINUTECalendar.SECOND
        从以下版本开始:
        0.3.6
      • isSameAs

        public static boolean isSameAs​(long a,
                                       long b,
                                       int inField)
        比较两个以毫秒数表示的时间值是否处于同一年/月/天/小时/分钟/秒/毫秒
        参数:
        a - 时间 a
        b - 时间 b
        inField - 指定用于判断是否为同一值的时间单位字段,可以使用Calendar类的单位常量
        从以下版本开始:
        0.3.6
        另请参阅:
        Calendar.YEAR, Calendar.MONTH, Calendar.WEEK_OF_YEAR, Calendar.WEEK_OF_MONTH, Calendar.DAY_OF_YEAR, Calendar.DAY_OF_MONTH, Calendar.HOUR, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND
      • isSameAs

        public boolean isSameAs​(java.lang.Object date,
                                int inField)
        当前时间是否与指定时间是否处于同一年/月/天/小时/分钟/秒/毫秒
        时间对象可以为:DateEasyDateCalendar
        参数:
        inField - 指定用于判断是否为同一值的时间单位字段,可以使用Calendar类的单位常量
        从以下版本开始:
        0.3.6
        另请参阅:
        Calendar.YEAR, Calendar.MONTH, Calendar.WEEK_OF_MONTH, Calendar.DAY_OF_MONTH, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND
      • isSameAs

        public static boolean isSameAs​(java.lang.Object a,
                                       java.lang.Object b,
                                       int inField)
        比较两个时间值是否处于同一年/月/天/小时/分钟/秒/毫秒
        时间对象可以为:DateEasyDateCalendar
        参数:
        a - 时间 a
        b - 时间 b
        inField - 指定用于判断是否为同一值的时间单位字段,可以使用Calendar类的单位常量
        从以下版本开始:
        0.3.6
        另请参阅:
        Calendar.YEAR, Calendar.MONTH, Calendar.WEEK_OF_MONTH, Calendar.DAY_OF_MONTH, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND
      • after

        public boolean after​(java.lang.Object date)
        判断是否在指定日期的时间之后
      • getLastDayOfMonth

        public int getLastDayOfMonth()
        获取当前月的最后一天
        从以下版本开始:
        0.3
      • beginOf

        public EasyDate beginOf​(int field)
        将当前实例设置为指定时间字段范围内所能表示的最小值
        参数:
        field - 该方法支持的字段有Calendar.YEARCalendar.MONTHCalendar.DAY_OF_MONTHCalendar.HOUR_OF_DAYCalendar.MINUTECalendar.SECOND
        从以下版本开始:
        0.3
      • beginOf

        public static java.util.Date beginOf​(java.util.Date d,
                                             int field)
        将当前实例设置为指定时间字段范围内所能表示的最小值
        参数:
        field - 该方法支持的字段有Calendar.YEARCalendar.MONTHCalendar.DAY_OF_MONTHCalendar.HOUR_OF_DAYCalendar.MINUTECalendar.SECOND
        从以下版本开始:
        0.3
      • setTimeZone

        public EasyDate setTimeZone​(java.util.TimeZone timeZone)
        设置时区
        参数:
        timeZone - 指定的时区
        从以下版本开始:
        3.0.0
      • getTimeZone

        public java.util.TimeZone getTimeZone()
        获取当前时间对象的时区设置
        从以下版本开始:
        3.0.0
      • setTimeZoneOffset

        public EasyDate setTimeZoneOffset​(int inMinutes)
        设置本地时间相对于GMT时间的偏移分钟数
        参数:
        inMinutes - 偏移分钟数
        从以下版本开始:
        0.3
      • getTimeZoneOffset

        public int getTimeZoneOffset()
        获取本地时间相对于GMT时间的偏移分钟数
        从以下版本开始:
        0.3
      • endOf

        public EasyDate endOf​(int field)
        将当前实例设置为指定时间字段所能表示的最大值
        参数:
        field - 该方法支持的字段有Calendar.YEARCalendar.MONTHCalendar.DAY_OF_MONTHCalendar.HOUR_OF_DAYCalendar.MINUTECalendar.SECOND
        从以下版本开始:
        0.3
      • endOf

        public static java.util.Date endOf​(java.util.Date d,
                                           int field)
        将当前实例设置为指定时间字段所能表示的最大值
        参数:
        field - 该方法支持的字段有Calendar.YEARCalendar.MONTHCalendar.DAY_OF_MONTHCalendar.HOUR_OF_DAYCalendar.MINUTECalendar.SECOND
        从以下版本开始:
        0.3
      • getMaxDayOfMonth

        public static int getMaxDayOfMonth​(java.util.Date d)
      • before

        public boolean before​(java.lang.Object date)
        判断是否在指定日期的时间之前
      • hashCode

        public int hashCode()
        覆盖:
        hashCode 在类中 java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        覆盖:
        equals 在类中 java.lang.Object
      • toString

        public java.lang.String toString()
        返回"yyyy-MM-dd"格式的字符串
        覆盖:
        toString 在类中 java.lang.Object
      • toString

        public static java.lang.String toString​(java.util.Date d)
        返回"yyyy-MM-dd"格式的字符串
      • toDateString

        public java.lang.String toDateString()
        返回"yyyy年MM月dd日"格式的字符串
      • toDateString

        public static java.lang.String toDateString​(int year,
                                                    int month,
                                                    int day)
        返回"yyyy年MM月dd日"格式的字符串
      • toDateString

        public static java.lang.String toDateString​(java.util.Date d)
        返回"yyyy年MM月dd日"格式的字符串
      • toString

        public java.lang.String toString​(java.text.Format format)
        返回使用日期格式化工具格式化后的字符串
        从以下版本开始:
        0.3
      • toDateTimeString

        public java.lang.String toDateTimeString()
        返回"yyyy-MM-dd HH:mm:ss"格式的字符串
      • toDateTimeString

        public static java.lang.String toDateTimeString​(java.util.Date d)
        返回"yyyy-MM-dd HH:mm:ss"格式的字符串
      • toDateTimeString

        public static java.lang.String toDateTimeString​(int year,
                                                        int month,
                                                        int day,
                                                        int hour,
                                                        int minute,
                                                        int second)
        返回"yyyy-MM-dd HH:mm:ss"格式的字符串
      • toShortString

        public java.lang.String toShortString()
        返回"yyyyMMdd"格式的字符串
      • toShortString

        public static java.lang.String toShortString​(java.util.Date d)
        返回"yyyyMMdd"格式的字符串
      • toShortString

        public static java.lang.String toShortString​(int year,
                                                     int month,
                                                     int day)
        返回"yyyyMMdd"格式的字符串
      • toLongString

        public java.lang.String toLongString()
        返回"yyyy-MM-dd HH:mm:ss sss"格式的字符串
      • toLongString

        public static java.lang.String toLongString​(java.util.Date d)
        返回"yyyy-MM-dd HH:mm:ss sss"格式的字符串
      • toLongString

        public static java.lang.String toLongString​(int year,
                                                    int month,
                                                    int day,
                                                    int hour,
                                                    int minute,
                                                    int second,
                                                    int ms)
        返回"yyyy-MM-dd HH:mm:ss sss"格式的字符串
      • formatNormalDateTime

        protected static void formatNormalDateTime​(char[] chars,
                                                   int year,
                                                   int month,
                                                   int day,
                                                   int hour,
                                                   int minute,
                                                   int second)
      • formatNormalDate

        public static void formatNormalDate​(char[] chars,
                                            int offset,
                                            int year,
                                            int month,
                                            int day)
      • formatNormalTime

        public static void formatNormalTime​(char[] chars,
                                            int offset,
                                            int hour,
                                            int minute,
                                            int second)
      • toGMTString

        public java.lang.String toGMTString()
        返回GMT标准格式的字符串,例如:1 Dec 2012 15:05:00 GMT
      • toGMTNetString

        public java.lang.String toGMTNetString()
        返回Internet GMT标准格式的字符串,例如:Sat, 1 Dec 2012 23:05:00 GMT
      • clone

        public java.lang.Object clone()
        覆盖:
        clone 在类中 java.lang.Object
      • setNumberToChars

        public static void setNumberToChars​(char[] chars,
                                            int number,
                                            int start,
                                            int length)
        将指定的数字设置到指定的字符数组中的指定索引处,并填充指定的长度,如果数字的长度不够,则在前面填充0
        参数:
        chars - 指定的字符数组
        number - 指定的数字
        start - 指定的起始索引
        length - 指定的长度
      • fillNumberToChars

        public static void fillNumberToChars​(char[] chars,
                                             int number,
                                             int start,
                                             int length)
        将指定的数字设置到指定的字符数组中的指定索引处,从右向左依次填充,并最多填充指定的长度
        参数:
        chars - 指定的字符数组
        number - 指定的数字
        start - 指定的起始索引
        length - 指定的长度
      • isSameDay

        public static boolean isSameDay​(java.util.Date a,
                                        java.util.Date b)
        判断两个日期对象是否是同一天(不考虑时区差异)