public class UDateUtil extends Object
Modifier and Type | Field and Description |
---|---|
static String |
DATETIME_FORMAT
日期时间格式(yyyy-MM-dd HH:mm:ss)
|
static String |
DATETIME_FORMAT_NIANYUE
日期时间格式 年月(yyyy-MM)
|
static String |
DATETIME_FORMAT_NIANYUERI
日期时间格式 年月日(yyyy-MM-dd)
|
static String |
DEFAULT_LONG_DATE_FORMAT
缺省长日期格式
|
static String |
DEFAULT_PERIOD_FORMAT
默认的时间段显示格式
|
static String |
DEFAULT_SHORT_DATE_FORMAT
缺省短日期格式(yyyy-MM-dd)
|
static String |
JAVA_MAX_LONG_DATE_STR
Java能支持的最大日期字符串(yyyy-MM-dd HH:mm:ss:SS)
|
static String |
JAVA_MAX_SHORT_DATE_STR
Java能支持的最大日期字符串(yyyy-MM-dd)
|
static String |
JAVA_MIN_LONG_DATE_STR
Java能支持的最小日期字符串(yyyy-MM-dd HH:mm:ss:SS)
|
static String |
JAVA_MIN_SHORT_DATE_STR
Java能支持的最小日期字符串(yyyy-MM-dd)
|
static String |
TIME_FORMAT
时间格式(HH:mm:ss:SS)
|
Modifier and Type | Method and Description |
---|---|
static Date |
addDate(String datepart,
int number,
Date date)
把日期对象加减年、月、日后得到新的日期对象
|
static Calendar |
calendar(Date date)
转换为Calendar对象
|
static Calendar |
calendar(long millis)
转换为Calendar对象
|
static boolean |
compareNow(String time1)
比较时间大小
默认和当前时间比较
按照时间格式字符串:yyyy-MM-dd HH:mm:ss
|
static boolean |
compareTime(String time1,
String time2)
比较时间大小
按照时间格式字符串:yyyy-MM-dd HH:mm:ss
|
static boolean |
compareTime(String time1,
String time2,
String dateFormat)
比较时间大小
|
static String |
convert(Date date,
String format)
将日期类型转换成指定格式的日期字符串
|
static Date |
convert(long time)
时间戳转日期
|
static Date |
convert(Long time)
时间戳转日期
|
static String |
convert(Long date,
String format)
将时间戳转换成指定格式的日期字符串
|
static Date |
convert(String date)
将日期时间字符串转成日期对象
备注:时间格式(yyyy-MM-dd HH:mm:ss)
|
static Date |
convert(String date,
String format)
将指定格式的字符串转换成日期类型
|
static Date |
convertNianYue(String date)
将字符串日期对象转成日期对象-年月
备注:日期格式(yyyy-MM)
|
static Date |
convertNianYueRi(String date)
将字符串日期对象转成日期对象-年月日
备注:日期格式(yyyy-MM-dd)
|
static long |
currentSeconds()
当前时间秒数
|
static String |
currentStr()
返回当前时间,默认格式为 yyyy-MM-dd HH:mm:ss
|
static String |
currentStr(String dateFormat)
取得当前日期,并将其转换成格式为"dateFormat"的字符串 例子:假如当前日期是 2003-09-24 9:19:10,则:
|
static Timestamp |
currentTimestamp()
得到系统当前时间的Timestamp对象
|
static DateTime |
date()
转换为
DateTime 对象 |
static double |
dateDiff(String datepart,
Date startdate,
Date enddate)
计算两个日期之间的相隔的年、月、日。注意:只有计算相隔天数是准确的,相隔年和月都是 近似值,按一年365天,一月30天计算,忽略闰年和闰月的差别。
|
static DateTime |
dateNew(Date date)
|
static LocalDate |
dateToLocalDate(Date date)
Date转换成LocalDate
|
static LocalDateTime |
dateToLocalDateTime(Date date)
Date转换成LocalDateTime
|
static Date |
dayEndTimeAt(Date date)
获取当前时间的最大时间
|
static Date |
dayEndTimeAt(long time)
获取当前时间的最大时间
|
static Date |
dayStartTimeAt(Date date)
获取当前时间的最小时间
|
static Date |
dayStartTimeAt(long time)
获取当前时间的最小时间
|
static String |
format(long period)
把输入的时间转换成时间段显示
|
static String |
formatBetween(long betweenMs,
BetweenFormater.Level level)
格式化日期间隔输出
|
static String |
getAfterOrPreDate(String date,
String node,
int index)
获取指定日期之前之后的第index的日,周,月,年的日期
|
static String |
getAfterOrPreDayDate(int index)
获取当前日期第index日之后(之前)的日期(yyyy-MM-dd)
|
static String |
getAfterOrPreMonthDate(int index)
获取当前日期第index月之前(之后)的日期(yyyy-MM-dd)
|
static String |
getAfterOrPreNowTime(String node,
Long num)
获取当前日期之后(之后)的节点事件
|
static String |
getAfterOrPreNowTimePlus(DateTimeFormatter dtf,
String node,
Long num)
获取与当前日期相距num个之后(之前)的日期
|
static String |
getAfterOrPreNowTimeSimp(String node,
Long num)
当前时间的hour,minute,second之后(之前)的时刻
|
static String |
getAfterOrPreWeekDate(int index)
获取当前日期第index周之前(之后)的日期(yyyy-MM-dd)
|
static String |
getAfterOrPreYearDate(int index)
获取当前日期第index年之前(之后)的日期(yyyy-MM-dd)
|
static Date |
getFirstDayCurMonth(Date date)
获取当前月第一天的开始时间
|
static Date |
getFirstDayNextMonth(Date date)
获取指定日期下个月第一天的开始时间
|
static Date |
getFirstMonthDay(Date date)
获取指定日期所在月份的第一天
|
static String |
getFirstOrLastWeekDate(String curDay,
int dayOfWeek,
boolean lastOrFirst)
获取指定日期当月的最后或第一个星期日期
|
static String |
getLastDayOfMonth(String curDate,
boolean firstOrLast)
获取指定日期月的第一天或最后一天(yyyy-MM-dd)
|
static String |
getLastDayOfYear(String curDate,
boolean firstOrLast)
获取指定日期年的第一天或最后一天(yyyy-MM-dd)
|
static Date |
getLastMonthDay(Date date)
获取指定日期所在月份的最后一天
|
static Long |
getMicTime() |
static String |
getNextWeekDate(String curDay,
int dayOfWeek,
boolean isContainCurDay)
获取下一个星期的日期
|
static Integer |
getNodeTime(String node)
获取当前日期的节点时间(年,月,周,日,时,分,秒)
|
static String |
getNowDate_CN()
获取中文的当前日期
|
static String |
getNowDate_EN()
获取当前日期
|
static String |
getNowLocalTime_full()
根据当地日期显示格式:yyyy年M月dd日 星期?(中国)
|
static String |
getNowLocalTime_long()
根据当地显示日期格式:yyyy年M月dd日(中国)
|
static String |
getNowLocalTime_medium()
根据当地显示日期格式:yyyy-M-dd(中国)
|
static String |
getNowLocalTime_shot()
简写本地当前日期:yy-M-dd
例如:19-3-30为2019年3月30日 |
static String |
getNowTime_CN_HHmmss()
获取当前时间(HH时mm分ss秒)
|
static String |
getNowTime_CN_yMdH()
获取当前时间(yyyy年MM月dd日HH时)
|
static String |
getNowTime_CN_yMdHm()
获取当前时间(yyyy年MM月dd日HH时mm分)
|
static String |
getNowTime_CN()
获取中文当前时间
|
static String |
getNowTime_EN_yMdH()
获取当前时间(yyyy-MM-dd HH)
|
static String |
getNowTime_EN_yMdHm()
获取当前时间(yyyy-MM-dd HH:mm)
|
static String |
getNowTime_EN_yyyyMMddHHmm()
获取当前时间(yyyyMMddHHmm)
|
static String |
getNowTime_EN()
获取当前日期(yyyy-MM-dd HH:mm:ss)
|
static List<String> |
getPieDateRange(String startDate,
String endDate,
String period)
切割日期。按照周期切割成小段日期段。例如:
|
static String |
getPreWeekDate(String curDay,
int dayOfWeek,
boolean isCurDay)
获取上一个星期的日期
|
static String |
getTime(String formatStr)
根据日期时间格式,获取当前时间
|
static long |
getTimeMillis(String dateStr)
获取时间戳字符串的毫秒表示,字符串日期时间格式 “yyyy-MM-dd HH:mm:ss”
|
static Long |
getTimeStamp() |
static Long |
getTimeStamp(Boolean isSeconds) |
static boolean |
isBirthday(int month,
int dayOfMonth)
检查重复事件,比如生日。
|
static boolean |
isLeapYear(int year)
是否闰年
|
static boolean |
isLeapYear(String date)
检测:输入年份是否是闰年?
|
static Date |
localDateTimeToDate(LocalDateTime localDateTime)
LocalDateTime转换成Date
|
static Date |
localDateToDate(LocalDate localDate)
LocalDate转换成Date
|
static DateTime |
offset(Date date,
DateField dateField,
int offset)
获取指定日期偏移指定时间后的时间,生成的偏移日期不影响原日期
|
static DateTime |
offsetDay(Date date,
int offset)
偏移天
|
static DateTime |
parse(String dateStr)
将日期字符串转换为
DateTime 对象,格式:yyyy-MM-dd HH:mm:ss yyyy/MM/dd HH:mm:ss yyyy.MM.dd HH:mm:ss yyyy年MM月dd日 HH时mm分ss秒 yyyy-MM-dd yyyy/MM/dd yyyy.MM.dd HH:mm:ss HH时mm分ss秒 yyyy-MM-dd HH:mm yyyy-MM-dd HH:mm:ss.SSS yyyyMMddHHmmss yyyyMMddHHmmssSSS yyyyMMdd EEE, dd MMM yyyy HH:mm:ss z EEE MMM dd HH:mm:ss zzz yyyy |
static DateTime |
parse(String dateStr,
DateParser parser)
构建DateTime对象
|
static DateTime |
parse(String dateStr,
String format)
将特定格式的日期转换为Date对象
|
static DateTime |
parseDate(String dateString)
格式yyyy-MM-dd
|
static DateTime |
parseDateTime(String dateString)
格式yyyy-MM-dd HH:mm:ss
|
static DateTime |
parseTime(String timeString)
解析时间,格式HH:mm:ss,默认为1970-01-01
|
static int |
peridCount(String date1,
String date2,
String node)
计算两个日期字符串之间相差多少个周期(天,月,年)
|
static int |
thisYear() |
static String |
timestampToString(Integer time)
10位int型的时间戳转换为字符串时间(yyyy-MM-dd HH:mm:ss)
|
static Date |
toDate(Object o)
将对象转成日期对象
|
static int |
transformWeekEN2Num(String enWeek)
将英文星期转换成数字
|
static int |
year(Date date)
获得年的部分
|
public static final String DEFAULT_SHORT_DATE_FORMAT
public static final String TIME_FORMAT
public static final String DEFAULT_LONG_DATE_FORMAT
public static final String DATETIME_FORMAT
public static final String DATETIME_FORMAT_NIANYUE
public static final String DATETIME_FORMAT_NIANYUERI
public static final String JAVA_MIN_SHORT_DATE_STR
public static final String JAVA_MIN_LONG_DATE_STR
public static final String JAVA_MAX_SHORT_DATE_STR
public static final String JAVA_MAX_LONG_DATE_STR
public static final String DEFAULT_PERIOD_FORMAT
public static String getNowDate_EN()
public static String getNowTime_EN()
public static String getNowTime_EN_yMdH()
public static String getNowTime_CN_yMdH()
public static String getNowTime_EN_yMdHm()
public static String getNowTime_EN_yyyyMMddHHmm()
public static String getNowTime_CN_yMdHm()
public static String getNowTime_CN_HHmmss()
public static String getTime(String formatStr)
formatStr
- 传入的日期时间格式public static String getNowDate_CN()
public static String getNowTime_CN()
public static String getNowLocalTime_shot()
public static String getNowLocalTime_full()
public static String getNowLocalTime_long()
public static String getNowLocalTime_medium()
public static Integer getNodeTime(String node)
node
- 日期中的节点元素(年,月,周,日,时,分,秒)public static int transformWeekEN2Num(String enWeek)
enWeek
- 英文星期public static String getAfterOrPreNowTime(String node, Long num)
比如当前时间为:2019-03-30 10:20:30
node="hour",num=5L:2019-03-30 15:20:30 node="day",num=1L:2019-03-31 10:20:30 node="year",num=1L:2020-03-30 10:20:30
node
- 节点元素(“year”,"month","week","day","huor","minute","second")num
- 第几天(+:之后,-:之前)public static Date addDate(String datepart, int number, Date date)
datepart
- yy-年、MM-月、dd-日、HH-时、mm-分、ss-秒number
- 加减因子date
- 需要加减年、月、日的日期对象public static boolean compareNow(String time1)
time1
- 时间1public static boolean compareTime(String time1, String time2)
time1
- 时间1time2
- 时间2public static boolean compareTime(String time1, String time2, String dateFormat)
time1
- 时间1time2
- 时间2dateFormat
- 时间格式字符串public static Date convert(String date, String format)
date
- 待转换的日期字符串format
- 日期格式字符串public static String convert(Date date, String format)
date
- Date日期对象format
- 日期格式字符串public static String convert(Long date, String format)
date
- 时间戳format
- 日期格式字符串public static Date convert(String date)
date
- 字符串日期对象public static Date convertNianYue(String date)
date
- 字符串日期对象public static Date convertNianYueRi(String date)
date
- 字符串日期对象public static Date convert(long time)
time
- 传入的时间戳public static String format(long period)
period
- 单位为秒public static double dateDiff(String datepart, Date startdate, Date enddate)
datepart
- 两位的格式字符串,yy表示年,MM表示月,dd表示日startdate
- 开始日期enddate
- 结束日期public static String currentStr()
public static String currentStr(String dateFormat)
取得当前日期,并将其转换成格式为"dateFormat"的字符串 例子:假如当前日期是 2003-09-24 9:19:10,则:
获取示例: getCurrDateStr("yyyyMMdd")="20030924" getCurrDateStr("yyyy-MM-dd")="2003-09-24" getCurrDateStr("yyyy-MM-dd HH:mm:ss")="2003-09-24 09:19:10"
dateFormat
- - String 日期格式字符串public static Timestamp currentTimestamp()
public static long getTimeMillis(String dateStr)
dateStr
- 时间戳字符串的毫秒表示,1363140153000 1354723201000public static Date getFirstMonthDay(Date date)
date
- 指定日期public static Date getFirstDayNextMonth(Date date)
date
- 指定日期public static Date getFirstDayCurMonth(Date date)
date
- 指定日期public static Date getLastMonthDay(Date date)
date
- 指定日期public static Date dayStartTimeAt(long time)
time
- 时间戳public static Date dayStartTimeAt(Date date)
date
- 传入的datepublic static Date dayEndTimeAt(long time)
time
- 时间戳public static Date dayEndTimeAt(Date date)
date
- 传入的datepublic static String timestampToString(Integer time)
time
- 传入的时间戳public static LocalDate dateToLocalDate(Date date)
date
- 传入的datepublic static Date localDateToDate(LocalDate localDate)
localDate
- 传入的localDatepublic static LocalDateTime dateToLocalDateTime(Date date)
System.out.println(localDateTime.toString()); System.out.println(localDateTime.toLocalDate() + " " +localDateTime.toLocalTime()); DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//This class is immutable and thread-safe.@since 1.8 System.out.println(dateTimeFormatter.format(localDateTime));
date
- 传入的datepublic static Date localDateTimeToDate(LocalDateTime localDateTime)
localDateTime
- 传入的localDateTimepublic static String getAfterOrPreNowTimePlus(DateTimeFormatter dtf, String node, Long num)
dtf
- 格式化当前时间格式(dtf = yyyyMMddHHmmss_EN)node
- 节点元素(“year”,"month","week","day","huor","minute","second")num
- (+:之后,-:之前)public static String getAfterOrPreNowTimeSimp(String node, Long num)
node
- 时间节点元素(hour,minute,second)num
- 之后(之后)多久时,分,秒(+:之后,-:之前)public static boolean isBirthday(int month, int dayOfMonth)
month
- 月份dayOfMonth
- 当前月的第几天public static String getAfterOrPreDayDate(int index)
index
- 第index天public static String getAfterOrPreWeekDate(int index)
index
- 第index周(+:之后,-:之前)public static String getAfterOrPreMonthDate(int index)
index
- 第index月(+:之后,-:之前)public static String getAfterOrPreYearDate(int index)
index
- 第index年(+:之后,-:之前)public static String getAfterOrPreDate(String date, String node, int index)
date
- 指定日期格式:yyyy-MM-ddnode
- 时间节点元素(日周月年)index
- 之前之后第index个日期public static boolean isLeapYear(String date)
date
- 日期格式:yyyy-MM-ddpublic static int peridCount(String date1, String date2, String node)
date1
- yyyy-MM-dddate2
- yyyy-MM-ddnode
- 三者之一:(day,month,year)public static List<String> getPieDateRange(String startDate, String endDate, String period)
startDate
- 开始日期(yyyy-MM-dd)endDate
- 结束日期(yyyy-MM-dd)period
- 周期(天,周,月,年)public static String getLastDayOfMonth(String curDate, boolean firstOrLast)
curDate
- 日期格式(yyyy-MM-dd)firstOrLast
- true:第一天,false:最后一天public static String getLastDayOfYear(String curDate, boolean firstOrLast)
curDate
- 指定日期(格式:yyyy-MM-dd)firstOrLast
- true:第一天,false:最后一天public static String getNextWeekDate(String curDay, int dayOfWeek, boolean isContainCurDay)
curDay
- yyyy-MM-dddayOfWeek
- monday:1~sunday:7isContainCurDay
- 是否包含当天,true:是,false:不包含public static String getPreWeekDate(String curDay, int dayOfWeek, boolean isCurDay)
curDay
- 指定日期(yyyy-MM-dd)dayOfWeek
- 数字范围(monday:1~sunday:7)isCurDay
- 是否包含当天,true:是,false:不包含public static String getFirstOrLastWeekDate(String curDay, int dayOfWeek, boolean lastOrFirst)
curDay
- 指定日期(yyyy-MM-dd)dayOfWeek
- 周几(1~7)lastOrFirst
- true:最后一个,false本月第一个public static Long getTimeStamp()
public static Long getTimeStamp(Boolean isSeconds)
isSeconds
- 是否到秒s true到秒s false到毫秒mspublic static Long getMicTime()
public static long currentSeconds()
public static Calendar calendar(Date date)
date
- 日期对象public static Calendar calendar(long millis)
millis
- 时间戳public static DateTime parse(String dateStr)
DateTime
对象,格式:dateStr
- 日期字符串public static int thisYear()
public static int year(Date date)
date
- 日期public static String formatBetween(long betweenMs, BetweenFormater.Level level)
betweenMs
- 日期间隔level
- 级别,按照天、小时、分、秒、毫秒分为5个等级public static DateTime parse(String dateStr, String format)
dateStr
- 特定格式的日期format
- 格式,例如yyyy-MM-ddpublic static DateTime parse(String dateStr, DateParser parser)
dateStr
- Date字符串parser
- 格式化器,FastDateFormat
public static DateTime parseDateTime(String dateString)
dateString
- 标准形式的时间字符串public static DateTime parseDate(String dateString)
dateString
- 标准形式的日期字符串public static DateTime parseTime(String timeString)
timeString
- 标准形式的日期字符串public static DateTime offsetDay(Date date, int offset)
date
- 日期offset
- 偏移天数,正数向未来偏移,负数向历史偏移public static DateTime offset(Date date, DateField dateField, int offset)
date
- 基准日期dateField
- 偏移的粒度大小(小时、天、月等)DateField
offset
- 偏移量,正数为向后偏移,负数为向前偏移public static boolean isLeapYear(int year)
year
- 年Copyright © 2020. All rights reserved.