mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
add method
This commit is contained in:
parent
9642fa8862
commit
1072639f3b
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
# 5.7.14 (2021-09-27)
|
# 5.7.14 (2021-09-28)
|
||||||
|
|
||||||
### 🐣新特性
|
### 🐣新特性
|
||||||
* 【extra 】 修复HttpCookie设置cookies的方法,不符合RFC6265规范问题(issue#I4B70D@Gitee)
|
* 【extra 】 修复HttpCookie设置cookies的方法,不符合RFC6265规范问题(issue#I4B70D@Gitee)
|
||||||
@ -13,6 +13,7 @@
|
|||||||
* 【core 】 DateConverter修改返回java.util.Date而非DateTime(issue#I4BOAP@Gitee)
|
* 【core 】 DateConverter修改返回java.util.Date而非DateTime(issue#I4BOAP@Gitee)
|
||||||
* 【core 】 增加IterableIter、ComputeIter
|
* 【core 】 增加IterableIter、ComputeIter
|
||||||
* 【core 】 CsvConfig增加disableComment方法(issue#1842@Github)
|
* 【core 】 CsvConfig增加disableComment方法(issue#1842@Github)
|
||||||
|
* 【core 】 DateTime构造和DateUtil.parse可选是否宽松模式(issue#1849@Github)
|
||||||
|
|
||||||
### 🐞Bug修复
|
### 🐞Bug修复
|
||||||
* 【http 】 修复HttpCookie设置cookies的方法,不符合RFC6265规范问题(pr#418@Gitee)
|
* 【http 】 修复HttpCookie设置cookies的方法,不符合RFC6265规范问题(pr#418@Gitee)
|
||||||
|
@ -287,7 +287,19 @@ public class DateTime extends Date {
|
|||||||
* @see DatePattern
|
* @see DatePattern
|
||||||
*/
|
*/
|
||||||
public DateTime(CharSequence dateStr, DateParser dateParser) {
|
public DateTime(CharSequence dateStr, DateParser dateParser) {
|
||||||
this(parse(dateStr, dateParser));
|
this(dateStr, dateParser, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造
|
||||||
|
*
|
||||||
|
* @param dateStr Date字符串
|
||||||
|
* @param dateParser 格式化器 {@link DateParser},可以使用 {@link FastDateFormat}
|
||||||
|
* @param lenient 是否宽容模式
|
||||||
|
* @see DatePattern
|
||||||
|
*/
|
||||||
|
public DateTime(CharSequence dateStr, DateParser dateParser, boolean lenient) {
|
||||||
|
this(parse(dateStr, dateParser, lenient));
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------- Constructor end
|
// -------------------------------------------------------------------- Constructor end
|
||||||
@ -1017,13 +1029,14 @@ public class DateTime extends Date {
|
|||||||
*
|
*
|
||||||
* @param dateStr 日期字符串
|
* @param dateStr 日期字符串
|
||||||
* @param parser {@link FastDateFormat}
|
* @param parser {@link FastDateFormat}
|
||||||
* @return {@link Date}
|
* @param lenient 是否宽容模式
|
||||||
|
* @return {@link Calendar}
|
||||||
*/
|
*/
|
||||||
private static Calendar parse(CharSequence dateStr, DateParser parser) {
|
private static Calendar parse(CharSequence dateStr, DateParser parser, boolean lenient) {
|
||||||
Assert.notNull(parser, "Parser or DateFromat must be not null !");
|
Assert.notNull(parser, "Parser or DateFromat must be not null !");
|
||||||
Assert.notBlank(dateStr, "Date String must be not blank !");
|
Assert.notBlank(dateStr, "Date String must be not blank !");
|
||||||
|
|
||||||
final Calendar calendar = CalendarUtil.parse(dateStr, true, parser);
|
final Calendar calendar = CalendarUtil.parse(dateStr, lenient, parser);
|
||||||
if (null == calendar) {
|
if (null == calendar) {
|
||||||
throw new DateException("Parse [{}] with format [{}] error!", dateStr, parser.getPattern());
|
throw new DateException("Parse [{}] with format [{}] error!", dateStr, parser.getPattern());
|
||||||
}
|
}
|
||||||
|
@ -683,6 +683,19 @@ public class DateUtil extends CalendarUtil {
|
|||||||
return new DateTime(dateStr, parser);
|
return new DateTime(dateStr, parser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建DateTime对象
|
||||||
|
*
|
||||||
|
* @param dateStr Date字符串
|
||||||
|
* @param parser 格式化器,{@link FastDateFormat}
|
||||||
|
* @param lenient 是否宽容模式
|
||||||
|
* @return DateTime对象
|
||||||
|
* @since 5.7.14
|
||||||
|
*/
|
||||||
|
public static DateTime parse(CharSequence dateStr, DateParser parser, boolean lenient) {
|
||||||
|
return new DateTime(dateStr, parser);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构建DateTime对象
|
* 构建DateTime对象
|
||||||
*
|
*
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package cn.hutool.core.date;
|
package cn.hutool.core.date;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Console;
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
@ -133,10 +132,12 @@ public class DateTimeTest {
|
|||||||
Assert.assertEquals(1, date.weekOfYear());
|
Assert.assertEquals(1, date.weekOfYear());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
/**
|
||||||
|
* 严格模式下,不允许非常规的数字,如秒部分最多59,99则报错
|
||||||
|
*/
|
||||||
|
@Test(expected = IllegalArgumentException.class)
|
||||||
public void ofTest(){
|
public void ofTest(){
|
||||||
String a = "2021-09-27 00:00:99";
|
String a = "2021-09-27 00:00:99";
|
||||||
final DateTime dateTime = new DateTime(a, DatePattern.NORM_DATETIME_FORMAT);
|
new DateTime(a, DatePattern.NORM_DATETIME_FORMAT, false);
|
||||||
Console.log(dateTime);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user