gpt4 book ai didi

java - 验证 Java 8 日期

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:57 25 4
gpt4 key购买 nike

我想验证几种日期格式,如下例:

YYYY
YYYY-MM
YYYY-MM-DD

验证必须确保日期格式正确且日期存在。

我知道 Java 8 提供了一个新的 Date API,所以我想知道它是否能够完成这样的工作。

是否有使用 Java 8 日期 API 的更好方法?使用具有宽松参数的 Calendar 类仍然是一个好习惯吗?

最佳答案

您可以使用 parseDefaulting 指定缺失的字段以使所有格式化程序正常工作:

public static boolean isValid(String input) {
DateTimeFormatter[] formatters = {
new DateTimeFormatterBuilder().appendPattern("yyyy")
.parseDefaulting(ChronoField.MONTH_OF_YEAR, 1)
.parseDefaulting(ChronoField.DAY_OF_MONTH, 1)
.toFormatter(),
new DateTimeFormatterBuilder().appendPattern("yyyy-MM")
.parseDefaulting(ChronoField.DAY_OF_MONTH, 1)
.toFormatter(),
new DateTimeFormatterBuilder().appendPattern("yyyy-MM-dd")
.parseStrict().toFormatter() };
for(DateTimeFormatter formatter : formatters) {
try {
LocalDate.parse(input, formatter);
return true;
} catch (DateTimeParseException e) {
}
}
return false;
}

关于java - 验证 Java 8 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32204953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com