mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
add DatePattern
This commit is contained in:
parent
5c93ca2cf4
commit
4b5d556f32
@ -16,7 +16,7 @@
|
||||
|
||||
package org.dromara.hutool.core.data;
|
||||
|
||||
import org.dromara.hutool.core.date.DatePattern;
|
||||
import org.dromara.hutool.core.date.DateFormatPool;
|
||||
import org.dromara.hutool.core.date.DateTime;
|
||||
import org.dromara.hutool.core.date.DateUtil;
|
||||
import org.dromara.hutool.core.lang.Assert;
|
||||
@ -188,7 +188,7 @@ public class CIN {
|
||||
*/
|
||||
public DateTime getBirthDate() {
|
||||
final String birth = getBirth();
|
||||
return DateUtil.parse(birth, DatePattern.PURE_DATE_FORMAT);
|
||||
return DateUtil.parse(birth, DateFormatPool.PURE_DATE_FORMAT);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -81,7 +81,7 @@ import java.util.TimeZone;
|
||||
*
|
||||
* @author Looly
|
||||
*/
|
||||
public class DatePattern {
|
||||
public class DateFormatPool {
|
||||
|
||||
// region Normal
|
||||
//================================================== Normal ==================================================
|
||||
@ -275,7 +275,7 @@ public class DatePattern {
|
||||
* jdk8 bug at: https://bugs.openjdk.java.net/browse/JDK-8031085
|
||||
*/
|
||||
public static final DateTimeFormatter PURE_DATETIME_MS_FORMATTER = new DateTimeFormatterBuilder()
|
||||
.appendPattern(DatePattern.PURE_DATETIME_PATTERN)
|
||||
.appendPattern(DateFormatPool.PURE_DATETIME_PATTERN)
|
||||
.appendValue(ChronoField.MILLI_OF_SECOND, 3)
|
||||
.toFormatter();
|
||||
// endregion
|
@ -127,7 +127,7 @@ public class DateTime extends Date {
|
||||
* @param dateStr Date字符串
|
||||
* @param format 格式
|
||||
* @return this
|
||||
* @see DatePattern
|
||||
* @see DateFormatPool
|
||||
*/
|
||||
public static DateTime of(final String dateStr, final String format) {
|
||||
return new DateTime(dateStr, format);
|
||||
@ -294,7 +294,7 @@ public class DateTime extends Date {
|
||||
*
|
||||
* @param dateStr Date字符串
|
||||
* @param format 格式
|
||||
* @see DatePattern
|
||||
* @see DateFormatPool
|
||||
*/
|
||||
public DateTime(final CharSequence dateStr, final String format) {
|
||||
this(GlobalCustomFormat.isCustomFormat(format)
|
||||
@ -307,7 +307,7 @@ public class DateTime extends Date {
|
||||
*
|
||||
* @param dateStr Date字符串
|
||||
* @param dateFormat 格式化器 {@link SimpleDateFormat}
|
||||
* @see DatePattern
|
||||
* @see DateFormatPool
|
||||
*/
|
||||
public DateTime(final CharSequence dateStr, final DateFormat dateFormat) {
|
||||
this(parse(dateStr, dateFormat), dateFormat.getTimeZone());
|
||||
@ -329,7 +329,7 @@ public class DateTime extends Date {
|
||||
*
|
||||
* @param dateStr Date字符串
|
||||
* @param dateParser 格式化器 {@link DateParser},可以使用 {@link FastDateFormat}
|
||||
* @see DatePattern
|
||||
* @see DateFormatPool
|
||||
*/
|
||||
public DateTime(final CharSequence dateStr, final PositionDateParser dateParser) {
|
||||
this(dateStr, dateParser, SystemUtil.getBoolean(SystemUtil.HUTOOL_DATE_LENIENT, true));
|
||||
@ -341,7 +341,7 @@ public class DateTime extends Date {
|
||||
* @param dateStr Date字符串
|
||||
* @param dateParser 格式化器 {@link DateParser},可以使用 {@link FastDateFormat}
|
||||
* @param lenient 是否宽容模式
|
||||
* @see DatePattern
|
||||
* @see DateFormatPool
|
||||
*/
|
||||
public DateTime(final CharSequence dateStr, final PositionDateParser dateParser, final boolean lenient) {
|
||||
this(parse(dateStr, dateParser, lenient));
|
||||
@ -1004,9 +1004,9 @@ public class DateTime extends Date {
|
||||
*/
|
||||
public String toString(final TimeZone timeZone) {
|
||||
if (null != timeZone) {
|
||||
return toString(DateUtil.newSimpleFormat(DatePattern.NORM_DATETIME_PATTERN, null, timeZone));
|
||||
return toString(DateUtil.newSimpleFormat(DateFormatPool.NORM_DATETIME_PATTERN, null, timeZone));
|
||||
}
|
||||
return toString(DatePattern.NORM_DATETIME_FORMAT);
|
||||
return toString(DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1017,9 +1017,9 @@ public class DateTime extends Date {
|
||||
*/
|
||||
public String toDateStr() {
|
||||
if (null != this.timeZone) {
|
||||
return toString(DateUtil.newSimpleFormat(DatePattern.NORM_DATE_PATTERN, null, timeZone));
|
||||
return toString(DateUtil.newSimpleFormat(DateFormatPool.NORM_DATE_PATTERN, null, timeZone));
|
||||
}
|
||||
return toString(DatePattern.NORM_DATE_FORMAT);
|
||||
return toString(DateFormatPool.NORM_DATE_FORMAT);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1030,15 +1030,15 @@ public class DateTime extends Date {
|
||||
*/
|
||||
public String toTimeStr() {
|
||||
if (null != this.timeZone) {
|
||||
return toString(DateUtil.newSimpleFormat(DatePattern.NORM_TIME_PATTERN, null, timeZone));
|
||||
return toString(DateUtil.newSimpleFormat(DateFormatPool.NORM_TIME_PATTERN, null, timeZone));
|
||||
}
|
||||
return toString(DatePattern.NORM_TIME_FORMAT);
|
||||
return toString(DateFormatPool.NORM_TIME_FORMAT);
|
||||
}
|
||||
|
||||
/**
|
||||
* 转为字符串
|
||||
*
|
||||
* @param format 日期格式,常用格式见: {@link DatePattern}
|
||||
* @param format 日期格式,常用格式见: {@link DateFormatPool}
|
||||
* @return String
|
||||
*/
|
||||
public String toString(final String format) {
|
||||
@ -1072,7 +1072,7 @@ public class DateTime extends Date {
|
||||
* @return 输出精确到毫秒的标准日期形式
|
||||
*/
|
||||
public String toMsStr() {
|
||||
return toString(DatePattern.NORM_DATETIME_MS_FORMAT);
|
||||
return toString(DateFormatPool.NORM_DATETIME_MS_FORMAT);
|
||||
}
|
||||
// -------------------------------------------------------------------- toString end
|
||||
|
||||
|
@ -46,7 +46,7 @@ import java.util.stream.Collectors;
|
||||
*
|
||||
* @author Looly
|
||||
* @see TimeUtil java8日志工具类
|
||||
* @see DatePattern 日期常用格式工具类
|
||||
* @see DateFormatPool 日期常用格式工具类
|
||||
*/
|
||||
public class DateUtil {
|
||||
|
||||
@ -526,7 +526,7 @@ public class DateUtil {
|
||||
* 根据特定格式格式化日期
|
||||
*
|
||||
* @param localDateTime 被格式化的日期
|
||||
* @param format 日期格式,常用格式见: {@link DatePattern}
|
||||
* @param format 日期格式,常用格式见: {@link DateFormatPool}
|
||||
* @return 格式化后的字符串
|
||||
*/
|
||||
public static String format(final LocalDateTime localDateTime, final String format) {
|
||||
@ -537,7 +537,7 @@ public class DateUtil {
|
||||
* 根据特定格式格式化日期
|
||||
*
|
||||
* @param date 被格式化的日期
|
||||
* @param format 日期格式,常用格式见: {@link DatePattern} {@link DatePattern#NORM_DATETIME_PATTERN}
|
||||
* @param format 日期格式,常用格式见: {@link DateFormatPool} {@link DateFormatPool#NORM_DATETIME_PATTERN}
|
||||
* @return 格式化后的字符串
|
||||
*/
|
||||
public static String format(final Date date, final String format) {
|
||||
@ -561,7 +561,7 @@ public class DateUtil {
|
||||
* 根据特定格式格式化日期
|
||||
*
|
||||
* @param date 被格式化的日期
|
||||
* @param format {@link DatePrinter} 或 {@link FastDateFormat} {@link DatePattern#NORM_DATETIME_FORMAT}
|
||||
* @param format {@link DatePrinter} 或 {@link FastDateFormat} {@link DateFormatPool#NORM_DATETIME_FORMAT}
|
||||
* @return 格式化后的字符串
|
||||
*/
|
||||
public static String format(final Date date, final DatePrinter format) {
|
||||
@ -589,7 +589,7 @@ public class DateUtil {
|
||||
* 根据特定格式格式化日期
|
||||
*
|
||||
* @param date 被格式化的日期
|
||||
* @param format {@link SimpleDateFormat} {@link DatePattern#NORM_DATETIME_FORMATTER}
|
||||
* @param format {@link SimpleDateFormat} {@link DateFormatPool#NORM_DATETIME_FORMATTER}
|
||||
* @return 格式化后的字符串
|
||||
* @since 5.0.0
|
||||
*/
|
||||
@ -613,7 +613,7 @@ public class DateUtil {
|
||||
if (null == date) {
|
||||
return null;
|
||||
}
|
||||
return DatePattern.NORM_DATETIME_FORMAT.format(date);
|
||||
return DateFormatPool.NORM_DATETIME_FORMAT.format(date);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -627,7 +627,7 @@ public class DateUtil {
|
||||
if (null == date) {
|
||||
return null;
|
||||
}
|
||||
return DatePattern.NORM_DATE_FORMAT.format(date);
|
||||
return DateFormatPool.NORM_DATE_FORMAT.format(date);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -642,7 +642,7 @@ public class DateUtil {
|
||||
if (null == date) {
|
||||
return null;
|
||||
}
|
||||
return DatePattern.NORM_TIME_FORMAT.format(date);
|
||||
return DateFormatPool.NORM_TIME_FORMAT.format(date);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -656,7 +656,7 @@ public class DateUtil {
|
||||
if (null == date) {
|
||||
return null;
|
||||
}
|
||||
return DatePattern.HTTP_DATETIME_FORMAT_GMT.format(date);
|
||||
return DateFormatPool.HTTP_DATETIME_FORMAT_GMT.format(date);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -674,7 +674,7 @@ public class DateUtil {
|
||||
}
|
||||
|
||||
if (!isUppercase) {
|
||||
return (withTime ? DatePattern.CHINESE_DATE_TIME_FORMAT : DatePattern.CHINESE_DATE_FORMAT).format(date);
|
||||
return (withTime ? DateFormatPool.CHINESE_DATE_TIME_FORMAT : DateFormatPool.CHINESE_DATE_FORMAT).format(date);
|
||||
}
|
||||
|
||||
return CalendarUtil.formatChineseDate(CalendarUtil.calendar(date), withTime);
|
||||
@ -1814,7 +1814,7 @@ public class DateUtil {
|
||||
*
|
||||
* @param date1 日期1
|
||||
* @param date2 日期2
|
||||
* @param format 日期格式,常用格式见: {@link DatePattern}; 允许为空; date1 date2; eg: yyyy-MM-dd
|
||||
* @param format 日期格式,常用格式见: {@link DateFormatPool}; 允许为空; date1 date2; eg: yyyy-MM-dd
|
||||
* @return 比较结果,如果date1 < date2,返回数小于0,date1==date2返回0,date1 > date2 大于0
|
||||
* @author dazer
|
||||
* @since 5.6.4
|
||||
|
@ -40,7 +40,7 @@ import java.util.function.Function;
|
||||
*
|
||||
* @author looly
|
||||
* @see DateUtil java7及其以下版本,使用Date工具类
|
||||
* @see DatePattern 常用格式工具类
|
||||
* @see DateFormatPool 常用格式工具类
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public class TimeUtil extends TemporalAccessorUtil {
|
||||
@ -298,7 +298,7 @@ public class TimeUtil extends TemporalAccessorUtil {
|
||||
if (StrUtil.contains(text, 'T')) {
|
||||
return parse(text, DateTimeFormatter.ISO_LOCAL_DATE_TIME);
|
||||
} else {
|
||||
return parse(text, DatePattern.NORM_DATETIME_FORMATTER);
|
||||
return parse(text, DateFormatPool.NORM_DATETIME_FORMATTER);
|
||||
}
|
||||
}
|
||||
|
||||
@ -343,14 +343,14 @@ public class TimeUtil extends TemporalAccessorUtil {
|
||||
// fix issue#1082
|
||||
//see https://stackoverflow.com/questions/22588051/is-java-time-failing-to-parse-fraction-of-second
|
||||
// jdk8 bug at: https://bugs.openjdk.java.net/browse/JDK-8031085
|
||||
if (StrUtil.startWithIgnoreEquals(format, DatePattern.PURE_DATETIME_PATTERN) && format.endsWith("S")) {
|
||||
if (StrUtil.startWithIgnoreEquals(format, DateFormatPool.PURE_DATETIME_PATTERN) && format.endsWith("S")) {
|
||||
// 需要填充的0的个数
|
||||
final int paddingWidth = 3 - (format.length() - DatePattern.PURE_DATETIME_PATTERN.length());
|
||||
final int paddingWidth = 3 - (format.length() - DateFormatPool.PURE_DATETIME_PATTERN.length());
|
||||
if (paddingWidth > 0) {
|
||||
//将yyyyMMddHHmmssS、yyyyMMddHHmmssSS的日期统一替换为yyyyMMddHHmmssSSS格式,用0补
|
||||
text += StrUtil.repeat('0', paddingWidth);
|
||||
}
|
||||
formatter = DatePattern.PURE_DATETIME_MS_FORMATTER;
|
||||
formatter = DateFormatPool.PURE_DATETIME_MS_FORMATTER;
|
||||
} else {
|
||||
formatter = DateTimeFormatter.ofPattern(format);
|
||||
}
|
||||
@ -411,7 +411,7 @@ public class TimeUtil extends TemporalAccessorUtil {
|
||||
* @since 5.3.11
|
||||
*/
|
||||
public static String formatNormal(final ChronoLocalDateTime<?> time) {
|
||||
return format(time, DatePattern.NORM_DATETIME_FORMATTER);
|
||||
return format(time, DateFormatPool.NORM_DATETIME_FORMATTER);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -422,7 +422,7 @@ public class TimeUtil extends TemporalAccessorUtil {
|
||||
* @since 5.3.11
|
||||
*/
|
||||
public static String formatNormal(final ChronoLocalDate date) {
|
||||
return format(date, DatePattern.NORM_DATE_FORMATTER);
|
||||
return format(date, DateFormatPool.NORM_DATE_FORMATTER);
|
||||
}
|
||||
|
||||
|
||||
|
@ -23,7 +23,6 @@ import java.util.TimeZone;
|
||||
* 日期基本信息获取接口
|
||||
*
|
||||
* @author Looly
|
||||
* @since 2.16.2
|
||||
*/
|
||||
public interface DateBasic {
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -22,8 +22,8 @@ import java.util.Date;
|
||||
/**
|
||||
* 日期格式化输出接口<br>
|
||||
* Thanks to Apache Commons Lang 3.5
|
||||
*
|
||||
* @author Looly
|
||||
* @since 2.16.2
|
||||
*/
|
||||
public interface DatePrinter extends DateBasic {
|
||||
|
||||
@ -61,8 +61,8 @@ public interface DatePrinter extends DateBasic {
|
||||
* </p>
|
||||
*
|
||||
* @param millis the millisecond value to format
|
||||
* @param buf the buffer to format into
|
||||
* @param <B> the Appendable class type, usually StringBuilder or StringBuffer.
|
||||
* @param buf the buffer to format into
|
||||
* @param <B> the Appendable class type, usually StringBuilder or StringBuffer.
|
||||
* @return the specified string buffer
|
||||
*/
|
||||
<B extends Appendable> B format(long millis, B buf);
|
||||
@ -73,8 +73,8 @@ public interface DatePrinter extends DateBasic {
|
||||
* </p>
|
||||
*
|
||||
* @param date the date to format
|
||||
* @param buf the buffer to format into
|
||||
* @param <B> the Appendable class type, usually StringBuilder or StringBuffer.
|
||||
* @param buf the buffer to format into
|
||||
* @param <B> the Appendable class type, usually StringBuilder or StringBuffer.
|
||||
* @return the specified string buffer
|
||||
*/
|
||||
<B extends Appendable> B format(Date date, B buf);
|
||||
@ -86,8 +86,8 @@ public interface DatePrinter extends DateBasic {
|
||||
* The TimeZone set on the Calendar is only used to adjust the time offset. The TimeZone specified during the construction of the Parser will determine the TimeZone used in the formatted string.
|
||||
*
|
||||
* @param calendar the calendar to format
|
||||
* @param buf the buffer to format into
|
||||
* @param <B> the Appendable class type, usually StringBuilder or StringBuffer.
|
||||
* @param buf the buffer to format into
|
||||
* @param <B> the Appendable class type, usually StringBuilder or StringBuffer.
|
||||
* @return the specified string buffer
|
||||
*/
|
||||
<B extends Appendable> B format(Calendar calendar, B buf);
|
||||
|
@ -17,7 +17,7 @@
|
||||
package org.dromara.hutool.core.date.format;
|
||||
|
||||
import org.dromara.hutool.core.date.DateException;
|
||||
import org.dromara.hutool.core.date.DatePattern;
|
||||
import org.dromara.hutool.core.date.DateFormatPool;
|
||||
import org.dromara.hutool.core.date.format.parser.FastDateParser;
|
||||
import org.dromara.hutool.core.date.format.parser.PositionDateParser;
|
||||
|
||||
@ -47,7 +47,6 @@ import java.util.TimeZone;
|
||||
* </p>
|
||||
* Thanks to Apache Commons Lang 3.5
|
||||
*
|
||||
* @since 2.16.2
|
||||
*/
|
||||
public class FastDateFormat extends Format implements PositionDateParser, DatePrinter {
|
||||
private static final long serialVersionUID = 8097890768636183236L;
|
||||
@ -413,7 +412,7 @@ public class FastDateFormat extends Format implements PositionDateParser, DatePr
|
||||
|
||||
/**
|
||||
* 便捷获取 DateTimeFormatter
|
||||
* 由于 {@link DatePattern} 很大一部分的格式没有提供 {@link DateTimeFormatter},因此这里提供快捷获取方式
|
||||
* 由于 {@link DateFormatPool} 很大一部分的格式没有提供 {@link DateTimeFormatter},因此这里提供快捷获取方式
|
||||
*
|
||||
* @return DateTimeFormatter
|
||||
* @author dazer neusoft
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -332,23 +332,23 @@ public class FastDateParser extends SimpleDateBasic implements PositionDateParse
|
||||
/**
|
||||
* 单个日期字段的分析策略
|
||||
*/
|
||||
private static abstract class Strategy {
|
||||
interface Strategy {
|
||||
boolean parse(FastDateParser parser, Calendar calendar, CharSequence source, ParsePosition pos, int maxWidth);
|
||||
|
||||
/**
|
||||
* Is this field a number? The default implementation returns false.
|
||||
* 是否为数字,默认{@code false}
|
||||
*
|
||||
* @return true, if field is a number
|
||||
* @return {@code true}表示为数字
|
||||
*/
|
||||
boolean isNumber() {
|
||||
default boolean isNumber() {
|
||||
return false;
|
||||
}
|
||||
|
||||
abstract boolean parse(FastDateParser parser, Calendar calendar, CharSequence source, ParsePosition pos, int maxWidth);
|
||||
}
|
||||
|
||||
/**
|
||||
* A strategy to parse a single field from the parsing pattern
|
||||
*/
|
||||
private static abstract class PatternStrategy extends Strategy {
|
||||
private static abstract class PatternStrategy implements Strategy {
|
||||
|
||||
private Pattern pattern;
|
||||
|
||||
@ -361,7 +361,7 @@ public class FastDateParser extends SimpleDateBasic implements PositionDateParse
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean parse(final FastDateParser parser, final Calendar calendar, final CharSequence source, final ParsePosition pos, final int maxWidth) {
|
||||
public boolean parse(final FastDateParser parser, final Calendar calendar, final CharSequence source, final ParsePosition pos, final int maxWidth) {
|
||||
final Matcher matcher = pattern.matcher(source.subSequence(pos.getIndex(), source.length()));
|
||||
if (!matcher.lookingAt()) {
|
||||
pos.setErrorIndex(pos.getIndex());
|
||||
@ -477,7 +477,7 @@ public class FastDateParser extends SimpleDateBasic implements PositionDateParse
|
||||
/**
|
||||
* A strategy that copies the static or quoted field in the parsing pattern
|
||||
*/
|
||||
private static class CopyQuotedStrategy extends Strategy {
|
||||
private static class CopyQuotedStrategy implements Strategy {
|
||||
|
||||
final private String formatField;
|
||||
|
||||
@ -491,7 +491,7 @@ public class FastDateParser extends SimpleDateBasic implements PositionDateParse
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean parse(final FastDateParser parser, final Calendar calendar, final CharSequence source, final ParsePosition pos, final int maxWidth) {
|
||||
public boolean parse(final FastDateParser parser, final Calendar calendar, final CharSequence source, final ParsePosition pos, final int maxWidth) {
|
||||
for (int idx = 0; idx < formatField.length(); ++idx) {
|
||||
final int sIdx = idx + pos.getIndex();
|
||||
if (sIdx == source.length()) {
|
||||
@ -545,7 +545,7 @@ public class FastDateParser extends SimpleDateBasic implements PositionDateParse
|
||||
/**
|
||||
* A strategy that handles a number field in the parsing pattern
|
||||
*/
|
||||
private static class NumberStrategy extends Strategy {
|
||||
private static class NumberStrategy implements Strategy {
|
||||
private final int field;
|
||||
|
||||
/**
|
||||
@ -558,12 +558,12 @@ public class FastDateParser extends SimpleDateBasic implements PositionDateParse
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isNumber() {
|
||||
public boolean isNumber() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean parse(final FastDateParser parser, final Calendar calendar, final CharSequence source, final ParsePosition pos, final int maxWidth) {
|
||||
public boolean parse(final FastDateParser parser, final Calendar calendar, final CharSequence source, final ParsePosition pos, final int maxWidth) {
|
||||
int idx = pos.getIndex();
|
||||
int last = source.length();
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
package org.dromara.hutool.core.date.format.parser;
|
||||
|
||||
import org.dromara.hutool.core.date.DatePattern;
|
||||
import org.dromara.hutool.core.date.DateFormatPool;
|
||||
import org.dromara.hutool.core.date.DateTime;
|
||||
import org.dromara.hutool.core.date.DateUtil;
|
||||
import org.dromara.hutool.core.regex.PatternPool;
|
||||
@ -57,10 +57,10 @@ public class TimeParser implements PredicateDateParser, Serializable {
|
||||
source = StrUtil.format("{} {}", DateUtil.formatToday(), source);
|
||||
if (1 == StrUtil.count(source, ':')) {
|
||||
// 时间格式为 HH:mm
|
||||
return new DateTime(source, DatePattern.NORM_DATETIME_MINUTE_PATTERN);
|
||||
return new DateTime(source, DateFormatPool.NORM_DATETIME_MINUTE_PATTERN);
|
||||
} else {
|
||||
// 时间格式为 HH:mm:ss
|
||||
return new DateTime(source, DatePattern.NORM_DATETIME_FORMAT);
|
||||
return new DateTime(source, DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ public class CalendarUtilTest {
|
||||
public void parseTest(){
|
||||
Assertions.assertThrows(IllegalArgumentException.class, ()->{
|
||||
final Calendar calendar = CalendarUtil.parse("2021-09-27 00:00:112323", false,
|
||||
DatePattern.NORM_DATETIME_FORMAT);
|
||||
DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
|
||||
// https://github.com/dromara/hutool/issues/1849
|
||||
// 在使用严格模式时,秒不正确,抛出异常
|
||||
|
@ -30,47 +30,47 @@ public class DateModifierTest {
|
||||
|
||||
// 毫秒
|
||||
DateTime begin = DateUtil.truncate(date, DateField.MILLISECOND);
|
||||
Assertions.assertEquals(dateStr, begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals(dateStr, begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 秒
|
||||
begin = DateUtil.truncate(date, DateField.SECOND);
|
||||
Assertions.assertEquals("2017-03-01 22:33:23.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 22:33:23.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 分
|
||||
begin = DateUtil.truncate(date, DateField.MINUTE);
|
||||
Assertions.assertEquals("2017-03-01 22:33:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 22:33:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 小时
|
||||
begin = DateUtil.truncate(date, DateField.HOUR);
|
||||
Assertions.assertEquals("2017-03-01 22:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 22:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
begin = DateUtil.truncate(date, DateField.HOUR_OF_DAY);
|
||||
Assertions.assertEquals("2017-03-01 22:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 22:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 上下午,原始日期是22点,上下午的起始就是12点
|
||||
begin = DateUtil.truncate(date, DateField.AM_PM);
|
||||
Assertions.assertEquals("2017-03-01 12:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 12:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 天,day of xxx按照day处理
|
||||
begin = DateUtil.truncate(date, DateField.DAY_OF_WEEK_IN_MONTH);
|
||||
Assertions.assertEquals("2017-03-01 00:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 00:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
begin = DateUtil.truncate(date, DateField.DAY_OF_WEEK);
|
||||
Assertions.assertEquals("2017-03-01 00:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 00:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
begin = DateUtil.truncate(date, DateField.DAY_OF_MONTH);
|
||||
Assertions.assertEquals("2017-03-01 00:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 00:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 星期
|
||||
begin = DateUtil.truncate(date, DateField.WEEK_OF_MONTH);
|
||||
Assertions.assertEquals("2017-02-27 00:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-02-27 00:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
begin = DateUtil.truncate(date, DateField.WEEK_OF_YEAR);
|
||||
Assertions.assertEquals("2017-02-27 00:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-02-27 00:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 月
|
||||
begin = DateUtil.truncate(date, DateField.MONTH);
|
||||
Assertions.assertEquals("2017-03-01 00:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 00:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 年
|
||||
begin = DateUtil.truncate(date, DateField.YEAR);
|
||||
Assertions.assertEquals("2017-01-01 00:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-01-01 00:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -80,7 +80,7 @@ public class DateModifierTest {
|
||||
|
||||
// 天,day of xxx按照day处理
|
||||
final DateTime begin = DateUtil.truncate(date, DateField.DAY_OF_WEEK_IN_MONTH);
|
||||
Assertions.assertEquals("2017-03-01 00:00:00.000", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 00:00:00.000", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -90,47 +90,47 @@ public class DateModifierTest {
|
||||
|
||||
// 毫秒
|
||||
DateTime begin = DateUtil.ceiling(date, DateField.MILLISECOND, false);
|
||||
Assertions.assertEquals(dateStr, begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals(dateStr, begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 秒
|
||||
begin = DateUtil.ceiling(date, DateField.SECOND, false);
|
||||
Assertions.assertEquals("2017-03-01 22:33:23.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 22:33:23.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 分
|
||||
begin = DateUtil.ceiling(date, DateField.MINUTE, false);
|
||||
Assertions.assertEquals("2017-03-01 22:33:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 22:33:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 小时
|
||||
begin = DateUtil.ceiling(date, DateField.HOUR, false);
|
||||
Assertions.assertEquals("2017-03-01 22:59:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 22:59:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
begin = DateUtil.ceiling(date, DateField.HOUR_OF_DAY, false);
|
||||
Assertions.assertEquals("2017-03-01 22:59:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 22:59:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 上下午,原始日期是22点,上下午的结束就是23点
|
||||
begin = DateUtil.ceiling(date, DateField.AM_PM, false);
|
||||
Assertions.assertEquals("2017-03-01 23:59:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 23:59:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 天,day of xxx按照day处理
|
||||
begin = DateUtil.ceiling(date, DateField.DAY_OF_WEEK_IN_MONTH, false);
|
||||
Assertions.assertEquals("2017-03-01 23:59:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 23:59:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
begin = DateUtil.ceiling(date, DateField.DAY_OF_WEEK, false);
|
||||
Assertions.assertEquals("2017-03-01 23:59:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 23:59:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
begin = DateUtil.ceiling(date, DateField.DAY_OF_MONTH, false);
|
||||
Assertions.assertEquals("2017-03-01 23:59:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-01 23:59:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 星期
|
||||
begin = DateUtil.ceiling(date, DateField.WEEK_OF_MONTH, false);
|
||||
Assertions.assertEquals("2017-03-05 23:59:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-05 23:59:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
begin = DateUtil.ceiling(date, DateField.WEEK_OF_YEAR, false);
|
||||
Assertions.assertEquals("2017-03-05 23:59:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-05 23:59:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 月
|
||||
begin = DateUtil.ceiling(date, DateField.MONTH, false);
|
||||
Assertions.assertEquals("2017-03-31 23:59:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-03-31 23:59:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
// 年
|
||||
begin = DateUtil.ceiling(date, DateField.YEAR, false);
|
||||
Assertions.assertEquals("2017-12-31 23:59:59.999", begin.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2017-12-31 23:59:59.999", begin.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -140,6 +140,6 @@ public class DateModifierTest {
|
||||
final Date date = DateUtil.parse(dateStr);
|
||||
|
||||
final DateTime dateTime = DateUtil.round(date, DateField.SECOND);
|
||||
Assertions.assertEquals("2022-08-12 14:59:21.999", dateTime.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2022-08-12 14:59:21.999", dateTime.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ public class DateTimeTest {
|
||||
|
||||
@Test
|
||||
public void datetimeTest() {
|
||||
final DateTime dateTime = new DateTime("2017-01-05 12:34:23", DatePattern.NORM_DATETIME_FORMAT);
|
||||
final DateTime dateTime = new DateTime("2017-01-05 12:34:23", DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
|
||||
// 年
|
||||
final int year = dateTime.year();
|
||||
@ -73,36 +73,36 @@ public class DateTimeTest {
|
||||
|
||||
@Test
|
||||
public void quarterTest() {
|
||||
DateTime dateTime = new DateTime("2017-01-05 12:34:23", DatePattern.NORM_DATETIME_FORMAT);
|
||||
DateTime dateTime = new DateTime("2017-01-05 12:34:23", DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
Quarter quarter = dateTime.quarterEnum();
|
||||
Assertions.assertEquals(Quarter.Q1, quarter);
|
||||
|
||||
dateTime = new DateTime("2017-04-05 12:34:23", DatePattern.NORM_DATETIME_FORMAT);
|
||||
dateTime = new DateTime("2017-04-05 12:34:23", DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
quarter = dateTime.quarterEnum();
|
||||
Assertions.assertEquals(Quarter.Q2, quarter);
|
||||
|
||||
dateTime = new DateTime("2017-07-05 12:34:23", DatePattern.NORM_DATETIME_FORMAT);
|
||||
dateTime = new DateTime("2017-07-05 12:34:23", DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
quarter = dateTime.quarterEnum();
|
||||
Assertions.assertEquals(Quarter.Q3, quarter);
|
||||
|
||||
dateTime = new DateTime("2017-10-05 12:34:23", DatePattern.NORM_DATETIME_FORMAT);
|
||||
dateTime = new DateTime("2017-10-05 12:34:23", DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
quarter = dateTime.quarterEnum();
|
||||
Assertions.assertEquals(Quarter.Q4, quarter);
|
||||
|
||||
// 精确到毫秒
|
||||
final DateTime beginTime = new DateTime("2017-10-01 00:00:00.000", DatePattern.NORM_DATETIME_MS_FORMAT);
|
||||
final DateTime beginTime = new DateTime("2017-10-01 00:00:00.000", DateFormatPool.NORM_DATETIME_MS_FORMAT);
|
||||
dateTime = DateUtil.beginOfQuarter(dateTime);
|
||||
Assertions.assertEquals(beginTime, dateTime);
|
||||
|
||||
// 精确到毫秒
|
||||
final DateTime endTime = new DateTime("2017-12-31 23:59:59.999", DatePattern.NORM_DATETIME_MS_FORMAT);
|
||||
final DateTime endTime = new DateTime("2017-12-31 23:59:59.999", DateFormatPool.NORM_DATETIME_MS_FORMAT);
|
||||
dateTime = DateUtil.endOfQuarter(dateTime, false);
|
||||
Assertions.assertEquals(endTime, dateTime);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void mutableTest() {
|
||||
final DateTime dateTime = new DateTime("2017-01-05 12:34:23", DatePattern.NORM_DATETIME_FORMAT);
|
||||
final DateTime dateTime = new DateTime("2017-01-05 12:34:23", DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
|
||||
// 默认情况下DateTime为可变对象
|
||||
DateTime offsite = dateTime.offset(DateField.YEAR, 0);
|
||||
@ -116,7 +116,7 @@ public class DateTimeTest {
|
||||
|
||||
@Test
|
||||
public void toStringTest() {
|
||||
final DateTime dateTime = new DateTime("2017-01-05 12:34:23", DatePattern.NORM_DATETIME_FORMAT);
|
||||
final DateTime dateTime = new DateTime("2017-01-05 12:34:23", DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
Assertions.assertEquals("2017-01-05 12:34:23", dateTime.toString());
|
||||
|
||||
final String dateStr = dateTime.toString("yyyy/MM/dd");
|
||||
@ -125,18 +125,18 @@ public class DateTimeTest {
|
||||
|
||||
@Test
|
||||
public void toStringTest2() {
|
||||
final DateTime dateTime = new DateTime("2017-01-05 12:34:23", DatePattern.NORM_DATETIME_FORMAT);
|
||||
final DateTime dateTime = new DateTime("2017-01-05 12:34:23", DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
|
||||
String dateStr = dateTime.toString(DatePattern.ISO8601_WITH_ZONE_OFFSET_PATTERN);
|
||||
String dateStr = dateTime.toString(DateFormatPool.ISO8601_WITH_ZONE_OFFSET_PATTERN);
|
||||
Assertions.assertEquals("2017-01-05T12:34:23+0800", dateStr);
|
||||
|
||||
dateStr = dateTime.toString(DatePattern.ISO8601_WITH_XXX_OFFSET_PATTERN);
|
||||
dateStr = dateTime.toString(DateFormatPool.ISO8601_WITH_XXX_OFFSET_PATTERN);
|
||||
Assertions.assertEquals("2017-01-05T12:34:23+08:00", dateStr);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void toStringWithTimeZoneTest() {
|
||||
final DateTime dateTime = new DateTime("2017-01-05 12:34:23", DatePattern.NORM_DATETIME_FORMAT);
|
||||
final DateTime dateTime = new DateTime("2017-01-05 12:34:23", DateFormatPool.NORM_DATETIME_FORMAT);
|
||||
|
||||
final String dateStr = dateTime.toString(TimeZone.getTimeZone("UTC"));
|
||||
Assertions.assertEquals("2017-01-05 04:34:23", dateStr);
|
||||
@ -168,7 +168,7 @@ public class DateTimeTest {
|
||||
public void ofTest(){
|
||||
Assertions.assertThrows(IllegalArgumentException.class, ()->{
|
||||
final String a = "2021-09-27 00:00:99";
|
||||
new DateTime(a, DatePattern.NORM_DATETIME_FORMAT, false);
|
||||
new DateTime(a, DateFormatPool.NORM_DATETIME_FORMAT, false);
|
||||
});
|
||||
|
||||
}
|
||||
|
@ -142,10 +142,10 @@ public class DateUtilTest {
|
||||
|
||||
|
||||
DateTime dateTime = DateUtil.ceiling(date2, DateField.MINUTE, false);
|
||||
Assertions.assertEquals("2020-02-29 12:59:59.999", dateTime.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2020-02-29 12:59:59.999", dateTime.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
dateTime = DateUtil.ceiling(date2, DateField.MINUTE, true);
|
||||
Assertions.assertEquals("2020-02-29 12:59:59.000", dateTime.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2020-02-29 12:59:59.000", dateTime.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -155,10 +155,10 @@ public class DateUtilTest {
|
||||
|
||||
|
||||
DateTime dateTime = DateUtil.ceiling(date2, DateField.DAY_OF_MONTH, false);
|
||||
Assertions.assertEquals("2020-02-29 23:59:59.999", dateTime.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2020-02-29 23:59:59.999", dateTime.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
dateTime = DateUtil.ceiling(date2, DateField.DAY_OF_MONTH, true);
|
||||
Assertions.assertEquals("2020-02-29 23:59:59.000", dateTime.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2020-02-29 23:59:59.000", dateTime.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -393,13 +393,13 @@ public class DateUtilTest {
|
||||
public void parseTest3() {
|
||||
final String dateStr = "2018-10-10 12:11:11";
|
||||
final Date date = DateUtil.parse(dateStr);
|
||||
final String format = DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN);
|
||||
final String format = DateUtil.format(date, DateFormatPool.NORM_DATETIME_PATTERN);
|
||||
Assertions.assertEquals(dateStr, format);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseTest4() {
|
||||
final String ymd = DateUtil.parse("2019-3-21 12:20:15", "yyyy-MM-dd").toString(DatePattern.PURE_DATE_PATTERN);
|
||||
final String ymd = DateUtil.parse("2019-3-21 12:20:15", "yyyy-MM-dd").toString(DateFormatPool.PURE_DATE_PATTERN);
|
||||
Assertions.assertEquals("20190321", ymd);
|
||||
}
|
||||
|
||||
@ -407,33 +407,33 @@ public class DateUtilTest {
|
||||
public void parseTest5() {
|
||||
// 测试时间解析
|
||||
//noinspection ConstantConditions
|
||||
String time = DateUtil.parse("22:12:12").toString(DatePattern.NORM_TIME_FORMAT);
|
||||
String time = DateUtil.parse("22:12:12").toString(DateFormatPool.NORM_TIME_FORMAT);
|
||||
Assertions.assertEquals("22:12:12", time);
|
||||
//noinspection ConstantConditions
|
||||
time = DateUtil.parse("2:12:12").toString(DatePattern.NORM_TIME_FORMAT);
|
||||
time = DateUtil.parse("2:12:12").toString(DateFormatPool.NORM_TIME_FORMAT);
|
||||
Assertions.assertEquals("02:12:12", time);
|
||||
//noinspection ConstantConditions
|
||||
time = DateUtil.parse("2:2:12").toString(DatePattern.NORM_TIME_FORMAT);
|
||||
time = DateUtil.parse("2:2:12").toString(DateFormatPool.NORM_TIME_FORMAT);
|
||||
Assertions.assertEquals("02:02:12", time);
|
||||
//noinspection ConstantConditions
|
||||
time = DateUtil.parse("2:2:1").toString(DatePattern.NORM_TIME_FORMAT);
|
||||
time = DateUtil.parse("2:2:1").toString(DateFormatPool.NORM_TIME_FORMAT);
|
||||
Assertions.assertEquals("02:02:01", time);
|
||||
//noinspection ConstantConditions
|
||||
time = DateUtil.parse("22:2:1").toString(DatePattern.NORM_TIME_FORMAT);
|
||||
time = DateUtil.parse("22:2:1").toString(DateFormatPool.NORM_TIME_FORMAT);
|
||||
Assertions.assertEquals("22:02:01", time);
|
||||
//noinspection ConstantConditions
|
||||
time = DateUtil.parse("2:22:1").toString(DatePattern.NORM_TIME_FORMAT);
|
||||
time = DateUtil.parse("2:22:1").toString(DateFormatPool.NORM_TIME_FORMAT);
|
||||
Assertions.assertEquals("02:22:01", time);
|
||||
|
||||
// 测试两位时间解析
|
||||
//noinspection ConstantConditions
|
||||
time = DateUtil.parse("2:22").toString(DatePattern.NORM_TIME_FORMAT);
|
||||
time = DateUtil.parse("2:22").toString(DateFormatPool.NORM_TIME_FORMAT);
|
||||
Assertions.assertEquals("02:22:00", time);
|
||||
//noinspection ConstantConditions
|
||||
time = DateUtil.parse("12:22").toString(DatePattern.NORM_TIME_FORMAT);
|
||||
time = DateUtil.parse("12:22").toString(DateFormatPool.NORM_TIME_FORMAT);
|
||||
Assertions.assertEquals("12:22:00", time);
|
||||
//noinspection ConstantConditions
|
||||
time = DateUtil.parse("12:2").toString(DatePattern.NORM_TIME_FORMAT);
|
||||
time = DateUtil.parse("12:2").toString(DateFormatPool.NORM_TIME_FORMAT);
|
||||
Assertions.assertEquals("12:02:00", time);
|
||||
|
||||
}
|
||||
@ -475,22 +475,22 @@ public class DateUtilTest {
|
||||
String str = "2020-02-06 01:58:00.000020";
|
||||
DateTime dateTime = DateUtil.parse(str);
|
||||
Assertions.assertNotNull(dateTime);
|
||||
Assertions.assertEquals("2020-02-06 01:58:00.000", dateTime.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2020-02-06 01:58:00.000", dateTime.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
str = "2020-02-06 01:58:00.00002";
|
||||
dateTime = DateUtil.parse(str);
|
||||
Assertions.assertNotNull(dateTime);
|
||||
Assertions.assertEquals("2020-02-06 01:58:00.000", dateTime.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2020-02-06 01:58:00.000", dateTime.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
str = "2020-02-06 01:58:00.111000";
|
||||
dateTime = DateUtil.parse(str);
|
||||
Assertions.assertNotNull(dateTime);
|
||||
Assertions.assertEquals("2020-02-06 01:58:00.111", dateTime.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2020-02-06 01:58:00.111", dateTime.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
|
||||
str = "2020-02-06 01:58:00.111";
|
||||
dateTime = DateUtil.parse(str);
|
||||
Assertions.assertNotNull(dateTime);
|
||||
Assertions.assertEquals("2020-02-06 01:58:00.111", dateTime.toString(DatePattern.NORM_DATETIME_MS_PATTERN));
|
||||
Assertions.assertEquals("2020-02-06 01:58:00.111", dateTime.toString(DateFormatPool.NORM_DATETIME_MS_PATTERN));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -532,7 +532,7 @@ public class DateUtilTest {
|
||||
public void parseDateTest() {
|
||||
final String dateStr = "2018-4-10";
|
||||
final Date date = DateUtil.parse(dateStr);
|
||||
final String format = DateUtil.format(date, DatePattern.NORM_DATE_PATTERN);
|
||||
final String format = DateUtil.format(date, DateFormatPool.NORM_DATE_PATTERN);
|
||||
Assertions.assertEquals("2018-04-10", format);
|
||||
}
|
||||
|
||||
@ -645,7 +645,7 @@ public class DateUtilTest {
|
||||
|
||||
dateStr1 = "2018-09-13T13:34:36.999+0800";
|
||||
dt = DateUtil.parse(dateStr1);
|
||||
final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DatePattern.NORM_DATETIME_MS_PATTERN);
|
||||
final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DateFormatPool.NORM_DATETIME_MS_PATTERN);
|
||||
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
|
||||
dateStr = Objects.requireNonNull(dt).toString(simpleDateFormat);
|
||||
Assertions.assertEquals("2018-09-13 13:34:36.999", dateStr);
|
||||
@ -705,7 +705,7 @@ public class DateUtilTest {
|
||||
public void parseCSTTest() {
|
||||
final String dateStr = "Wed Sep 16 11:26:23 +0800 2009";
|
||||
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat(DatePattern.JDK_DATETIME_PATTERN, Locale.US);
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat(DateFormatPool.JDK_DATETIME_PATTERN, Locale.US);
|
||||
// Asia/Shanghai是以地区命名的地区标准时,在中国叫CST,因此如果解析CST时不使用"Asia/Shanghai"而使用"GMT+08:00",会导致相差一个小时
|
||||
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
|
||||
final DateTime parse = DateUtil.parse(dateStr, sdf);
|
||||
@ -719,11 +719,11 @@ public class DateUtilTest {
|
||||
public void parseCSTTest2() {
|
||||
final String dateStr = "Wed Sep 16 11:26:23 CST 2009";
|
||||
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat(DatePattern.JDK_DATETIME_PATTERN, Locale.US);
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat(DateFormatPool.JDK_DATETIME_PATTERN, Locale.US);
|
||||
sdf.setTimeZone(TimeZone.getTimeZone("America/Chicago"));
|
||||
final DateTime parse = DateUtil.parse(dateStr, sdf);
|
||||
|
||||
final FastDateFormat fdf = FastDateFormat.getInstance(DatePattern.JDK_DATETIME_PATTERN, TimeZone.getTimeZone("America/Chicago"), Locale.US);
|
||||
final FastDateFormat fdf = FastDateFormat.getInstance(DateFormatPool.JDK_DATETIME_PATTERN, TimeZone.getTimeZone("America/Chicago"), Locale.US);
|
||||
final DateTime parse2 = DateUtil.parse(dateStr, fdf);
|
||||
|
||||
Assertions.assertEquals(parse, parse2);
|
||||
@ -788,14 +788,14 @@ public class DateUtilTest {
|
||||
final Date date2 = DateUtil.parse("2021-04-13 23:59:10");
|
||||
|
||||
Assertions.assertEquals(1, DateUtil.compare(date1, date2));
|
||||
Assertions.assertEquals(1, DateUtil.compare(date1, date2, DatePattern.NORM_DATETIME_PATTERN));
|
||||
Assertions.assertEquals(0, DateUtil.compare(date1, date2, DatePattern.NORM_DATE_PATTERN));
|
||||
Assertions.assertEquals(0, DateUtil.compare(date1, date2, DatePattern.NORM_DATETIME_MINUTE_PATTERN));
|
||||
Assertions.assertEquals(1, DateUtil.compare(date1, date2, DateFormatPool.NORM_DATETIME_PATTERN));
|
||||
Assertions.assertEquals(0, DateUtil.compare(date1, date2, DateFormatPool.NORM_DATE_PATTERN));
|
||||
Assertions.assertEquals(0, DateUtil.compare(date1, date2, DateFormatPool.NORM_DATETIME_MINUTE_PATTERN));
|
||||
|
||||
|
||||
final Date date11 = DateUtil.parse("2021-04-13 23:59:59.999");
|
||||
final Date date22 = DateUtil.parse("2021-04-11 23:10:10");
|
||||
Assertions.assertEquals(0, DateUtil.compare(date11, date22, DatePattern.NORM_MONTH_PATTERN));
|
||||
Assertions.assertEquals(0, DateUtil.compare(date11, date22, DateFormatPool.NORM_MONTH_PATTERN));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -830,7 +830,7 @@ public class DateUtilTest {
|
||||
final LocalDate localDate = localDateTime.toLocalDate();
|
||||
final DateTime date2 = DateUtil.date(localDate);
|
||||
Assertions.assertEquals("2017-05-06",
|
||||
DateUtil.format(date2, DatePattern.NORM_DATE_PATTERN));
|
||||
DateUtil.format(date2, DateFormatPool.NORM_DATE_PATTERN));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -890,8 +890,8 @@ public class DateUtilTest {
|
||||
Assertions.assertEquals(strDate, strDate1);
|
||||
|
||||
final String strDate2 = "2019-12-01 17:02:30.111";
|
||||
ldt = TimeUtil.parse(strDate2, DatePattern.NORM_DATETIME_MS_PATTERN);
|
||||
strDate1 = DateUtil.format(ldt, DatePattern.NORM_DATETIME_PATTERN);
|
||||
ldt = TimeUtil.parse(strDate2, DateFormatPool.NORM_DATETIME_MS_PATTERN);
|
||||
strDate1 = DateUtil.format(ldt, DateFormatPool.NORM_DATETIME_PATTERN);
|
||||
Assertions.assertEquals(strDate, strDate1);
|
||||
}
|
||||
|
||||
@ -900,7 +900,7 @@ public class DateUtilTest {
|
||||
// 测试字符串与LocalDateTime的互相转换
|
||||
final String strDate = "2019-12-01";
|
||||
final LocalDateTime localDateTime = TimeUtil.parse(strDate, "yyyy-MM-dd");
|
||||
Assertions.assertEquals(strDate, DateUtil.format(localDateTime, DatePattern.NORM_DATE_PATTERN));
|
||||
Assertions.assertEquals(strDate, DateUtil.format(localDateTime, DateFormatPool.NORM_DATE_PATTERN));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -975,7 +975,7 @@ public class DateUtilTest {
|
||||
Assertions.assertThrows(DateException.class, ()->{
|
||||
//https://github.com/dromara/hutool/issues/1332
|
||||
// 在日期格式不匹配的时候,测试是否正常报错
|
||||
DateUtil.parse("2020-12-23", DatePattern.PURE_DATE_PATTERN);
|
||||
DateUtil.parse("2020-12-23", DateFormatPool.PURE_DATE_PATTERN);
|
||||
});
|
||||
}
|
||||
|
||||
@ -985,14 +985,14 @@ public class DateUtilTest {
|
||||
calendar.set(2021, Calendar.JULY, 14, 23, 59, 59);
|
||||
final Date date = new DateTime(calendar);
|
||||
|
||||
Assertions.assertEquals("2021-07-14 23:59:59", DateUtil.format(date, DatePattern.NORM_DATETIME_FORMATTER));
|
||||
Assertions.assertEquals("2021-07-14 23:59:59", DateUtil.format(date, DatePattern.NORM_DATETIME_FORMAT));
|
||||
Assertions.assertEquals("2021-07-14 23:59:59", DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN));
|
||||
Assertions.assertEquals("2021-07-14 23:59:59", DateUtil.format(date, DateFormatPool.NORM_DATETIME_FORMATTER));
|
||||
Assertions.assertEquals("2021-07-14 23:59:59", DateUtil.format(date, DateFormatPool.NORM_DATETIME_FORMAT));
|
||||
Assertions.assertEquals("2021-07-14 23:59:59", DateUtil.format(date, DateFormatPool.NORM_DATETIME_PATTERN));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void formatNormDateTimeFormatterTest() {
|
||||
String format = DateUtil.format(DateUtil.parse("2021-07-14 10:05:38"), DatePattern.NORM_DATETIME_FORMATTER);
|
||||
String format = DateUtil.format(DateUtil.parse("2021-07-14 10:05:38"), DateFormatPool.NORM_DATETIME_FORMATTER);
|
||||
Assertions.assertEquals("2021-07-14 10:05:38", format);
|
||||
|
||||
format = DateUtil.format(TimeUtil.parseByISO("2021-07-14T10:05:38"),
|
||||
@ -1024,7 +1024,7 @@ public class DateUtilTest {
|
||||
|
||||
@Test
|
||||
public void parseByDateTimeFormatterTest() {
|
||||
final DateTime parse = DateUtil.parse("2021-12-01", DatePattern.NORM_DATE_FORMATTER);
|
||||
final DateTime parse = DateUtil.parse("2021-12-01", DateFormatPool.NORM_DATE_FORMATTER);
|
||||
Assertions.assertEquals("2021-12-01 00:00:00", parse.toString());
|
||||
}
|
||||
|
||||
|
@ -26,14 +26,14 @@ public class TemporalAccessorUtilTest {
|
||||
|
||||
@Test
|
||||
public void formatLocalDateTest(){
|
||||
final String format = TemporalAccessorUtil.format(LocalDate.of(2020, 12, 7), DatePattern.NORM_DATETIME_PATTERN);
|
||||
final String format = TemporalAccessorUtil.format(LocalDate.of(2020, 12, 7), DateFormatPool.NORM_DATETIME_PATTERN);
|
||||
Assertions.assertEquals("2020-12-07 00:00:00", format);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void formatLocalTimeTest(){
|
||||
final String today = TemporalAccessorUtil.format(LocalDate.now(), DatePattern.NORM_DATE_PATTERN);
|
||||
final String format = TemporalAccessorUtil.format(LocalTime.MIN, DatePattern.NORM_DATETIME_PATTERN);
|
||||
final String today = TemporalAccessorUtil.format(LocalDate.now(), DateFormatPool.NORM_DATE_PATTERN);
|
||||
final String format = TemporalAccessorUtil.format(LocalTime.MIN, DateFormatPool.NORM_DATETIME_PATTERN);
|
||||
Assertions.assertEquals(today + " 00:00:00", format);
|
||||
}
|
||||
|
||||
@ -54,9 +54,9 @@ public class TemporalAccessorUtilTest {
|
||||
final String startTimeStr = "2022-04-19 00:00:00";
|
||||
final String endTimeStr = "2022-04-19 23:59:59";
|
||||
final boolean between = TimeUtil.isIn(
|
||||
TimeUtil.parse(sourceStr, DatePattern.NORM_DATETIME_FORMATTER),
|
||||
TimeUtil.parse(startTimeStr, DatePattern.NORM_DATETIME_FORMATTER),
|
||||
TimeUtil.parse(endTimeStr, DatePattern.NORM_DATETIME_FORMATTER));
|
||||
TimeUtil.parse(sourceStr, DateFormatPool.NORM_DATETIME_FORMATTER),
|
||||
TimeUtil.parse(startTimeStr, DateFormatPool.NORM_DATETIME_FORMATTER),
|
||||
TimeUtil.parse(endTimeStr, DateFormatPool.NORM_DATETIME_FORMATTER));
|
||||
Assertions.assertTrue(between);
|
||||
}
|
||||
}
|
||||
|
@ -75,13 +75,13 @@ public class TimeUtilTest {
|
||||
|
||||
@Test
|
||||
public void parseTest2() {
|
||||
final LocalDateTime localDateTime = TimeUtil.parse("2020-01-23", DatePattern.NORM_DATE_PATTERN);
|
||||
final LocalDateTime localDateTime = TimeUtil.parse("2020-01-23", DateFormatPool.NORM_DATE_PATTERN);
|
||||
assertEquals("2020-01-23T00:00", Objects.requireNonNull(localDateTime).toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseTest3() {
|
||||
final LocalDateTime localDateTime = TimeUtil.parse("12:23:56", DatePattern.NORM_TIME_PATTERN);
|
||||
final LocalDateTime localDateTime = TimeUtil.parse("12:23:56", DateFormatPool.NORM_TIME_PATTERN);
|
||||
assertEquals("12:23:56", Objects.requireNonNull(localDateTime).toLocalTime().toString());
|
||||
}
|
||||
|
||||
@ -127,20 +127,20 @@ public class TimeUtilTest {
|
||||
@Test
|
||||
public void formatTest() {
|
||||
final LocalDateTime localDateTime = TimeUtil.parseByISO("2020-01-23T12:23:56");
|
||||
String format = TimeUtil.format(localDateTime, DatePattern.NORM_DATETIME_PATTERN);
|
||||
String format = TimeUtil.format(localDateTime, DateFormatPool.NORM_DATETIME_PATTERN);
|
||||
assertEquals("2020-01-23 12:23:56", format);
|
||||
|
||||
format = TimeUtil.formatNormal(localDateTime);
|
||||
assertEquals("2020-01-23 12:23:56", format);
|
||||
|
||||
format = TimeUtil.format(localDateTime, DatePattern.NORM_DATE_PATTERN);
|
||||
format = TimeUtil.format(localDateTime, DateFormatPool.NORM_DATE_PATTERN);
|
||||
assertEquals("2020-01-23", format);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void formatLocalDateTest() {
|
||||
final LocalDate date = LocalDate.parse("2020-01-23");
|
||||
String format = TimeUtil.format(date, DatePattern.NORM_DATE_PATTERN);
|
||||
String format = TimeUtil.format(date, DateFormatPool.NORM_DATE_PATTERN);
|
||||
assertEquals("2020-01-23", format);
|
||||
|
||||
format = TimeUtil.formatNormal(date);
|
||||
@ -354,7 +354,7 @@ public class TimeUtilTest {
|
||||
public void formatDateFunctionTest() {
|
||||
final List<String> dateStrList = Stream.of("2023-03-01", "2023-03-02")
|
||||
.map(LocalDate::parse)
|
||||
.map(TimeUtil.formatFunc(DatePattern.CHINESE_DATE_FORMATTER))
|
||||
.map(TimeUtil.formatFunc(DateFormatPool.CHINESE_DATE_FORMATTER))
|
||||
.collect(Collectors.toList());
|
||||
assertEquals("2023年03月01日", dateStrList.get(0));
|
||||
assertEquals("2023年03月02日", dateStrList.get(1));
|
||||
@ -364,7 +364,7 @@ public class TimeUtilTest {
|
||||
public void formatTimeFunctionTest() {
|
||||
final List<String> dateStrList = Stream.of("2023-03-01T12:23:56", "2023-03-02T12:23:56")
|
||||
.map(LocalDateTime::parse)
|
||||
.map(TimeUtil.formatFunc(DatePattern.CHINESE_DATE_FORMATTER))
|
||||
.map(TimeUtil.formatFunc(DateFormatPool.CHINESE_DATE_FORMATTER))
|
||||
.collect(Collectors.toList());
|
||||
assertEquals("2023年03月01日", dateStrList.get(0));
|
||||
assertEquals("2023年03月02日", dateStrList.get(1));
|
||||
|
@ -27,7 +27,7 @@ public class TimeZoneTest {
|
||||
@Test
|
||||
public void timeZoneConvertTest() {
|
||||
final DateTime dt = DateUtil.parse("2018-07-10 21:44:32", //
|
||||
FastDateFormat.getInstance(DatePattern.NORM_DATETIME_PATTERN, TimeZone.getTimeZone("GMT+8:00")));
|
||||
FastDateFormat.getInstance(DateFormatPool.NORM_DATETIME_PATTERN, TimeZone.getTimeZone("GMT+8:00")));
|
||||
Assertions.assertEquals("2018-07-10 21:44:32", dt.toString());
|
||||
|
||||
dt.setTimeZone(TimeZone.getTimeZone("Europe/London"));
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
package org.dromara.hutool.core.text;
|
||||
|
||||
import org.dromara.hutool.core.date.DatePattern;
|
||||
import org.dromara.hutool.core.date.DateFormatPool;
|
||||
import org.dromara.hutool.core.date.DateUtil;
|
||||
import org.dromara.hutool.core.util.CharsetUtil;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
@ -203,12 +203,12 @@ public class CharSequenceUtilTest {
|
||||
public void defaultIfEmptyTest() {
|
||||
final String emptyValue = "";
|
||||
final Instant result1 = CharSequenceUtil.defaultIfEmpty(emptyValue,
|
||||
(v) -> DateUtil.parse(v, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
(v) -> DateUtil.parse(v, DateFormatPool.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
Assertions.assertNotNull(result1);
|
||||
|
||||
final String dateStr = "2020-10-23 15:12:30";
|
||||
final Instant result2 = CharSequenceUtil.defaultIfEmpty(dateStr,
|
||||
(v) -> DateUtil.parse(v, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
(v) -> DateUtil.parse(v, DateFormatPool.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
Assertions.assertNotNull(result2);
|
||||
}
|
||||
|
||||
@ -216,12 +216,12 @@ public class CharSequenceUtilTest {
|
||||
public void defaultIfBlankTest() {
|
||||
final String emptyValue = " ";
|
||||
final Instant result1 = CharSequenceUtil.defaultIfBlank(emptyValue,
|
||||
(v) -> DateUtil.parse(v, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
(v) -> DateUtil.parse(v, DateFormatPool.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
Assertions.assertNotNull(result1);
|
||||
|
||||
final String dateStr = "2020-10-23 15:12:30";
|
||||
final Instant result2 = CharSequenceUtil.defaultIfBlank(dateStr,
|
||||
(v) -> DateUtil.parse(v, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
(v) -> DateUtil.parse(v, DateFormatPool.NORM_DATETIME_PATTERN).toInstant(), Instant::now);
|
||||
Assertions.assertNotNull(result2);
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@ import lombok.Data;
|
||||
import org.dromara.hutool.core.annotation.Alias;
|
||||
import org.dromara.hutool.core.annotation.PropIgnore;
|
||||
import org.dromara.hutool.core.collection.ListUtil;
|
||||
import org.dromara.hutool.core.date.DatePattern;
|
||||
import org.dromara.hutool.core.date.DateFormatPool;
|
||||
import org.dromara.hutool.core.date.DateUtil;
|
||||
import org.dromara.hutool.core.date.format.GlobalCustomFormat;
|
||||
import org.dromara.hutool.core.io.resource.ResourceUtil;
|
||||
@ -74,7 +74,7 @@ public class JSONObjectTest {
|
||||
*/
|
||||
@Test
|
||||
public void toStringTest3() {
|
||||
final JSONObject json = JSONUtil.ofObj(JSONConfig.of().setDateFormat(DatePattern.NORM_DATE_PATTERN))//
|
||||
final JSONObject json = JSONUtil.ofObj(JSONConfig.of().setDateFormat(DateFormatPool.NORM_DATE_PATTERN))//
|
||||
.putValue("dateTime", DateUtil.parse("2019-05-02 22:12:01"));
|
||||
assertEquals("{\"dateTime\":\"2019-05-02\"}", json.toString());
|
||||
}
|
||||
@ -85,7 +85,7 @@ public class JSONObjectTest {
|
||||
assert json != null;
|
||||
assertEquals("{\"date\":1557314301000}", json.toString());
|
||||
|
||||
json = JSONUtil.ofObj(JSONConfig.of().setDateFormat(DatePattern.NORM_DATE_PATTERN))
|
||||
json = JSONUtil.ofObj(JSONConfig.of().setDateFormat(DateFormatPool.NORM_DATE_PATTERN))
|
||||
.putValue("date", DateUtil.parse("2019-05-08 19:18:21"));
|
||||
assertEquals("{\"date\":\"2019-05-08\"}", json.toString());
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
package org.dromara.hutool.json.jwt;
|
||||
|
||||
import lombok.Data;
|
||||
import org.dromara.hutool.core.date.DatePattern;
|
||||
import org.dromara.hutool.core.date.DateFormatPool;
|
||||
import org.dromara.hutool.core.date.DateUtil;
|
||||
import org.dromara.hutool.core.reflect.TypeReference;
|
||||
import org.dromara.hutool.core.util.ByteUtil;
|
||||
@ -179,7 +179,7 @@ public class JWTTest {
|
||||
|
||||
// 签发时间早于被检查的时间
|
||||
final Date date = JWT.of(token).getPayload().getClaimsJson().getDate(JWTPayload.ISSUED_AT);
|
||||
Assertions.assertEquals("2022-02-02", DateUtil.format(date, DatePattern.NORM_DATE_PATTERN));
|
||||
Assertions.assertEquals("2022-02-02", DateUtil.format(date, DateFormatPool.NORM_DATE_PATTERN));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Loading…
x
Reference in New Issue
Block a user