gpt4 book ai didi

java - 在Java中解析字符串中的不同日期格式

转载 作者:搜寻专家 更新时间:2023-10-31 19:39:24 25 4
gpt4 key购买 nike

我有一个字符串,它可能包含以下任何格式的日期:

2001-01-05 (yyyy-mm-dd)
2001/01/05 (yyyy/mm/dd)
01/05/2001 (dd/mm/yyyy)
01-05-2001 (dd-mm-yyyy)
2001 january 5
2001 5 january
january 5 2001
5 january 2001
january 5
5 january

我希望能够解析特定的字符串并从中提取 Date 对象。

我的方法如下:

String[] date_formats = {
"yyyy-MM-dd",
"yyyyy/MM/dd",
"dd/MM/yyyyy",
"dd-MM-yyyy",
"yyyy MMM dd",
"yyyy dd MMM",
"dd MMM yyyy",
"dd MMM",
"MMM dd",
"dd MMM yyyy"};

String output_date = null;
for (String formatString : date_formats)
{
try
{
Date mydate = new SimpleDateFormat(formatString).parse(token);
SimpleDateFormat outdate = new SimpleDateFormat("yyyyMMdd");
output_date = outdate.format(mydate);
break;
}
catch (ParseException e) {
System.out.println("Next!");
}
}

这似乎没有按预期工作。特别是对于 2001 年 1 月 5 日等日期。我该怎么做呢?

最佳答案

使用 SimpleDateFormat.setLenient(false)。这样它就不会尝试解析不是它想要的确切格式的日期。

关于java - 在Java中解析字符串中的不同日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137007/

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