Ala*_*amu 5 java datetime date simpledateformat
我有一个字符串,可能包含以下任何格式的日期:
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
Run Code Online (Sandbox Code Playgroud)
我希望能够解析特定的字符串并从中提取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!");
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎没有按预期工作.特别是2001年1月5日等日期.我该如何做呢?
您需要在date_formats
数组中包含您预期将出现的格式类型的所有格式。
查看SimpleDateFormat
javadocs。
查看 javadoc 中的示例。
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 - yyyy MMMMM d
2001 5 january - yyyy d MMMMM
january 5 2001 - MMMMM d yyyy
5 january 2001 - d MMMMM yyyy
january 5 - MMMMM d
5 january - d MMMMM
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15321 次 |
最近记录: |