public class EasyDate extends Object implements Comparable<Object>, Cloneable, Serializable
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
DATE
yyyy-MM-dd格式的日期转换器
|
static String |
DATETIME
yyyy-MM-dd HH:mm:ss格式的日期转换器
|
static String |
GMT_DATE
GMT标准格式的日期转换器[d MMM yyyy HH:mm:ss 'GMT']
|
static 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 String |
SHORT_DATE
yyyyMMdd格式的日期转换器
|
static String |
YM_DATE
yyyyMM格式的日期转换器
|
| 构造器和说明 |
|---|
EasyDate()
构造一个当前时间的日期实例对象
|
EasyDate(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(Date date)
将常用日期对象封装为当前日期类实例对象
|
EasyDate(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(int year,
int month,
int day,
int... args)
根据年、月、日、时、分、秒、毫秒部分的值构造对应的实例对象
|
EasyDate(long date)
根据指定的毫秒数构造对应的实例对象
|
| 限定符和类型 | 方法和说明 |
|---|---|
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(Object date)
判断是否在指定日期的时间之后
|
boolean |
before(Object date)
判断是否在指定日期的时间之前
|
EasyDate |
beginOf(int field)
将当前实例设置为指定时间字段范围内所能表示的最小值
|
int |
calcDifference(Object date)
计算并返回当前日期与指定日期之间基于向上取整模式的天数差值
如果当前日期大于等于指定日期,则返回正数,否则返回负数 |
long |
calcDifference(Object date,
int field)
计算并返回当前日期与指定日期之间基于指定单位和向上取整模式的差值
如果当前日期大于等于指定日期,则返回正数,否则返回负数 |
long |
calcDifference(Object date,
int field,
RoundingMode roundingMode)
计算并返回当前日期与指定日期之间基于指定单位和舍入模式的差值
如果当前日期大于等于指定日期,则返回正数,否则返回负数 |
Object |
clone() |
int |
compareTo(Object date)
与指定日期进行比较,如果大于指定的日期返回正数;等于返回0;小于返回负数
|
EasyDate |
endOf(int field)
将当前实例设置为指定时间字段所能表示的最大值
|
boolean |
equals(Object obj) |
Calendar |
getCalendar()
获取内置的日历对象
|
int |
getDay()
获取日期的日;月份的第一天返回1
|
int |
getDayOfYear()
获取指定的日期是该年的第几天
|
int |
getHour()
获取日期的时,返回值0~23
|
int |
getLastDayOfMonth()
获取当前月的最后一天
|
int |
getMillisecond()
获取日期的毫秒部分的值,返回值0~999
|
static long |
getMillisOfUnit(int field)
获取指定日历单位所对应的毫秒值,单位仅支持"天"及其以下的单位
|
int |
getMinute()
获取日期的分,返回值0~59
|
int |
getMonth()
获取日期的月;返回值为1(一月)~12(十二月)
|
int |
getSecond()
获取日期的秒,返回值0~59
|
long |
getTime()
获取日期的时间值,以毫秒为单位
|
int |
getTimeZoneOffset()
获取本地时间相对于GMT时间的偏移分钟数
|
int |
getWeekDay()
获取日期的星期;返回值为1(星期一)~7(星期天)
|
int |
getWeeksOfMonth()
获取日期当前月份的星期数
|
int |
getWeeksOfYear()
获取日期当前年份的星期数
|
int |
getYear()
获取日期的年,例如:2012
|
int |
hashCode() |
boolean |
isLeapYear()
判断当前日期年份是否为闰年
|
boolean |
isLeapYear(int year)
判断指定年份是否为闰年
|
static boolean |
isSameAs(long a,
long b,
int inField)
比较两个以毫秒数表示的时间值是否处于同一年/月/天/小时/分钟/秒/毫秒
|
boolean |
isSameAs(Object date,
int inField)
|
static boolean |
isSameAs(Object a,
Object b,
int inField)
|
static EasyDate |
parse(DateFormat format,
String date)
将指定格式的字符串转为对应的日期实例对象
|
static EasyDate |
parse(String format,
String dateStr)
将指定格式的字符串转为对应的日期实例对象
|
EasyDate |
set(int year,
int month,
int day,
int... args)
设置日期的年、月、日、时、分、秒、毫秒等部分的值
如果未指定指定部分的值,则不会进行该部分的设置 |
protected void |
setCalendar(Calendar calendar)
初始化日历对象相关设置
|
EasyDate |
setDate(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
|
protected static void |
setNumberToTheRight(char[] chars,
int number,
int start,
int length)
将指定的数字设置到指定的字符数组中的指定索引处,从右向左依次填充,并最多填充指定的长度
|
EasyDate |
setSecond(int second)
设置日期的秒,值为0~59
|
EasyDate |
setTime(long date)
设置日期的时间值,以毫秒为单位
|
EasyDate |
setTimeZoneOffset(int minutes)
设置本地时间相对于GMT时间的偏移分钟数
|
EasyDate |
setYear(int year)
设置日期的年,例如:2012
|
static EasyDate |
smartParse(String date)
根据日期字符串的长度智能转换为对应的日期实例对象
长度和格式对应如下(找不到对应格式将报错): 6=201206(年月) 8=20120126(年月日) 10=2012-01-02(年-月-日) 19=2012-01-02 13:22:56(年-月-日 时:分:秒) |
Date |
toDate()
转为java.util.Date
|
String |
toDateString()
返回"yyyy年MM月dd日"格式的字符串
|
String |
toDateTimeString()
返回"yyyy-MM-dd HH:mm:ss"格式的字符串
|
String |
toGMTNetString()
返回Internet GMT标准格式的字符串,例如:Sat, 1 Dec 2012 23:05:00 GMT
|
String |
toGMTString()
返回GMT标准格式的字符串,例如:1 Dec 2012 15:05:00 GMT
|
String |
toLongString()
返回"yyyy-MM-dd HH:mm:ss sss"格式的字符串
|
String |
toShortString()
返回"yyyyMMdd"格式的字符串
|
Date |
toSqlDate()
转为java.sql.Date
|
String |
toString()
返回"yyyy-MM-dd"格式的字符串
|
String |
toString(Format format)
返回使用日期格式化工具格式化后的字符串
|
Time |
toTime()
转为java.sql.Time
|
Timestamp |
toTimestamp()
转为java.sql.Timestamp
|
static EasyDate |
valueOf(Calendar date)
将指定的java.util.Calendar对象转为EasyDate日期对象
如果指定对象对null,则返回null |
static EasyDate |
valueOf(Date date)
将指定的java.util.Date对象转为EasyDate日期对象
如果指定对象对null,则返回null |
static EasyDate |
valueOf(String date)
将指定的字符串转为EasyDate日期对象
如果指定对象对null,则返回null |
public static final String GMT_NET_DATE
public static final long MILLIS_OF_MINUTE
public static final long MILLIS_OF_HOUR
public static final long MILLIS_OF_DAY
public EasyDate(Date date)
date - public EasyDate()
public EasyDate(long date)
date - public EasyDate(Date date, int offsetYear, int offsetMonth, int offsetDay)
public EasyDate(EasyDate date, int offsetYear, int offsetMonth, int offsetDay)
public EasyDate(Calendar date, int offsetYear, int offsetMonth, int offsetDay)
date - 指定的日历对象,作为偏移量的参考对象,如果为null,则默认使用当前时间作为参考对象offsetYear - 相对于当前时间的年份偏移量offsetMonth - 相对于当前时间的月份偏移量doffsetDay - 相对于当前时间的日期偏移量public EasyDate(int year,
int month,
int day,
int... args)
year - 年份,如2012month - 月份,如12day - 日hh - 小时mm - 分钟ss - 秒ms - 毫秒protected void setCalendar(Calendar calendar)
calendar - public int getYear()
public EasyDate setYear(int year)
year - public EasyDate addYear(int year)
year - 指定的年数,可以为负数public int getMonth()
public EasyDate setMonth(int month)
public EasyDate addMonth(int month)
month - 指定的月数,可以为负数public EasyDate set(int year, int month, int day, int... args)
year - month - day - args - public int getDay()
public int getDayOfYear()
public EasyDate setDay(int day)
public EasyDate addDay(int day)
day - 指定的天数,可以为负数public int getWeekDay()
public int getHour()
public EasyDate setHour(int hour)
public EasyDate addHour(int hour)
hour - 指定的小时数,可以为负数public int getMinute()
public EasyDate setMinute(int minute)
minute - 指定的分钟数public EasyDate addMinute(int minute)
minute - 指定的分钟数,可以为负数public int getSecond()
public EasyDate setSecond(int second)
second - public EasyDate addMillisecond(int ms)
ms - 指定的毫秒数,可以为负数public int getMillisecond()
public EasyDate setMillisecond(int ms)
ms - public EasyDate addSecond(int second)
second - 指定的秒数,可以为负数public long getTime()
public EasyDate setTime(long date)
date - public EasyDate addTime(long time)
time - 指定的毫秒数,可以为负数public int getWeeksOfMonth()
public int getWeeksOfYear()
public Calendar getCalendar()
public static EasyDate smartParse(String date)
date - public static final EasyDate valueOf(Date date)
date - public static final EasyDate valueOf(Calendar date)
date - public static final EasyDate valueOf(String date)
date - public static EasyDate parse(DateFormat format, String date)
format - 一般情况无需自己创建,可直接调用EasyDate.DATE、EasyDate.DATETIME、EasyDate. SHORT_DATE等内置的日期转换对象date - 日期字符串public static EasyDate parse(String format, String dateStr)
format - 指定的格式字符串,例如“yyyy-MM-dd”,内部将使用SimpleDateFormat进行转换dateStr - 日期字符串public Date toDate()
public Date toSqlDate()
public Timestamp toTimestamp()
public Time toTime()
public int compareTo(Object date)
compareTo 在接口中 Comparable<Object>date - 支持java.util.Date、java.util.Calendar、me.codeplayer.util.EasyDate等对象及其子类的比较public long calcDifference(Object date, int field, RoundingMode roundingMode)
date - 与当前日期进行比较的日期field - 指定的日期字段,返回值将以此为单位返回两个日期的差距值roundingMode - 舍入模式public long calcDifference(Object date, int field)
date - 与当前日期进行比较的日期field - 指定的日期字段,返回值将以此为单位返回两个日期的差距值public int calcDifference(Object date)
date - 与当前日期进行比较的日期public boolean isLeapYear(int year)
year - 例如2012public boolean isLeapYear()
public static final long getMillisOfUnit(int field)
field - 该方法支持的字段有Calendar.YEAR、Calendar.MONTH、 Calendar.DAY_OF_MONTH、 Calendar.HOUR_OF_DAY、 Calendar.MINUTE、Calendar.SECONDpublic static boolean isSameAs(long a,
long b,
int inField)
a - 时间 ab - 时间 binField - 指定用于判断是否为同一值的时间单位字段,可以使用Calendar类的单位常量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.MILLISECONDpublic boolean isSameAs(Object date, int inField)
date - inField - 指定用于判断是否为同一值的时间单位字段,可以使用Calendar类的单位常量Calendar.YEAR,
Calendar.MONTH,
Calendar.WEEK_OF_MONTH,
Calendar.DAY_OF_MONTH,
Calendar.HOUR_OF_DAY,
Calendar.MINUTE,
Calendar.SECOND,
Calendar.MILLISECONDpublic static boolean isSameAs(Object a, Object b, int inField)
a - 时间 ab - 时间 binField - 指定用于判断是否为同一值的时间单位字段,可以使用Calendar类的单位常量Calendar.YEAR,
Calendar.MONTH,
Calendar.WEEK_OF_MONTH,
Calendar.DAY_OF_MONTH,
Calendar.HOUR_OF_DAY,
Calendar.MINUTE,
Calendar.SECOND,
Calendar.MILLISECONDpublic boolean after(Object date)
date - public int getLastDayOfMonth()
public EasyDate beginOf(int field)
field - 该方法支持的字段有Calendar.YEAR、Calendar.MONTH、 Calendar.DAY_OF_MONTH、 Calendar.HOUR_OF_DAY、 Calendar.MINUTE、Calendar.SECONDpublic EasyDate setTimeZoneOffset(int minutes)
minutes - 偏移分钟数public int getTimeZoneOffset()
public EasyDate endOf(int field)
field - 该方法支持的字段有Calendar.YEAR、Calendar.MONTH、 Calendar.DAY_OF_MONTH、 Calendar.HOUR_OF_DAY、 Calendar.MINUTE、Calendar.SECONDpublic boolean before(Object date)
date - public String toDateString()
public String toDateTimeString()
public String toShortString()
public String toLongString()
public String toGMTString()
public String toGMTNetString()
public Object clone() throws CloneNotSupportedException
clone 在类中 ObjectCloneNotSupportedExceptionpublic static final void setNumberToChars(char[] chars,
int number,
int start,
int length)
chars - 指定的字符数组number - 指定的数字start - 指定的起始索引length - 指定的长度protected static final void setNumberToTheRight(char[] chars,
int number,
int start,
int length)
chars - 指定的字符数组number - 指定的数字start - 指定的起始索引length - 指定的长度Copyright © 2020. All rights reserved.