DateUtils 增加 yyyy-MM-dd'T'HH:mm:ss'Z' 格式解析

This commit is contained in:
thinkgem
2025-05-19 10:38:43 +08:00
parent a414489ea9
commit 8f1dbaf3bd

View File

@@ -17,28 +17,28 @@ import java.util.Date;
* @version 2017-1-4
*/
public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
private static final String[] parsePatterns = {
"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM-dd HH", "yyyy-MM",
"yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM/dd HH", "yyyy/MM",
"yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM.dd HH", "yyyy.MM",
"yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM.dd HH", "yyyy.MM",
"yyyy年MM月dd日", "yyyy年MM月dd日 HH时mm分ss秒", "yyyy年MM月dd日 HH时mm分", "yyyy年MM月dd日 HH时", "yyyy年MM月",
"yyyyMMdd", "yyyyMM", "yyyy"};
"yyyyMMdd", "yyyyMM", "yyyy", "yyyy-MM-dd'T'HH:mm:ss'Z'"};
/**
* 得到日期字符串 转换格式yyyy-MM-dd
*/
public static String formatDate(Date date) {
return formatDate(date, "yyyy-MM-dd");
}
/**
* 得到日期字符串 默认格式yyyy-MM-dd pattern可以为"yyyy-MM-dd" "HH:mm:ss" "E"
*/
public static String formatDate(long dateTime, String pattern) {
return formatDate(new Date(dateTime), pattern);
}
/**
* 得到日期字符串 默认格式yyyy-MM-dd pattern可以为"yyyy-MM-dd" "HH:mm:ss" "E"
*/
@@ -57,21 +57,21 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
}
return formatDate;
}
/**
* 得到日期时间字符串转换格式yyyy-MM-dd HH:mm:ss
*/
public static String formatDateTime(Date date) {
return formatDate(date, "yyyy-MM-dd HH:mm:ss");
}
/**
* 得到当前日期字符串 格式yyyy-MM-dd
*/
public static String getDate() {
return getDate("yyyy-MM-dd");
}
/**
* 得到当前日期字符串 格式yyyy-MM-dd pattern可以为"yyyy-MM-dd" "HH:mm:ss" "E"
*/
@@ -79,7 +79,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
// return DateFormatUtils.format(new Date(), pattern);
return FastDateFormat.getInstance(pattern).format(new Date());
}
/**
* 得到当前日期前后多少天,月,年的日期字符串
* @param pattern 格式yyyy-MM-dd pattern可以为"yyyy-MM-dd" "HH:mm:ss" "E"
@@ -94,7 +94,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
// return DateFormatUtils.format(calendar.getTime(), pattern);
return FastDateFormat.getInstance(pattern).format(calendar.getTime());
}
/**
* 得到当前时间字符串 格式HH:mm:ss
*/
@@ -136,16 +136,27 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
public static String getWeek() {
return formatDate(new Date(), "E");
}
/**
* 日期型字符串转化为日期 格式 see to DateUtils#parsePatterns
* 日期型字符串转化为日期对象,使用默认格式集
*/
public static Date parseDate(Object str) {
if (str == null){
return null;
}
String dateStr = str.toString();
if (StringUtils.isBlank(dateStr)){
return null;
}
return parseDate(dateStr, parsePatterns);
}
/**
* 日期型字符串转化为日期对象,指定日期解析格式
*/
public static Date parseDate(final String str, final String... parsePatterns) {
try {
return parseDate(str.toString(), parsePatterns);
return parseDate(str, null, parsePatterns);
} catch (ParseException e) {
return null;
}