PDS*_*PDS 14 java date simpledateformat
我遇到了日期解析示例日期的问题:
SimpleDateFormat parserSDF=new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.getDefault());
parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
Run Code Online (Sandbox Code Playgroud)
得到例外
我希望将此格式日期解析为yyyy-MM-dd我尝试:
SimpleDateFormat parserSDF = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
Run Code Online (Sandbox Code Playgroud)
take:java.text.ParseException:Unparseable date:"Wed Oct 16 00:00:00 CEST 2013"
好的,我改变并工作:
SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.ENGLISH);
Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
Run Code Online (Sandbox Code Playgroud)
Sot*_*lis 17
我会认为Locale.getDefault()
你是pl-PL
因为你似乎是在波兰.
因此,日期字符串中的英语单词会导致日期不可解析.
适当的波兰日期String
就像是
"Wt pa? 16 00:00:00 -0500 2013"
Run Code Online (Sandbox Code Playgroud)
否则,将您更改Locale
为Locale.ENGLISH
以便SimpleDateFormat
对象可以String
使用英语单词解析日期.
Locale.default
您可以使用locale.ENGLISH
因为我看到您的字符串日期是英文格式,而不是使用您和其他人通常不知道哪个默认值.如果您在其他国家/地区,格式将有所不同.
这是我的示例代码:
public static void main(String[] args) {
try {
SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.ENGLISH);
Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
System.out.println("date: " + date.toString());
} catch (ParseException ex) {
ex.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
结果将是:date: Wed Oct 16 05:00:00 ICT 2013
.或者您可以使用其字段决定要打印此日期的哪一部分.
希望这有帮助:)
我认为原始的Exception是由于Z
您使用的格式。每个文档:
Z Time zone RFC 822 time zone -0800
Run Code Online (Sandbox Code Playgroud)
您最有可能打算使用小写字母 z
归档时间: |
|
查看次数: |
56444 次 |
最近记录: |