如何Tue Nov 13 14:35:04 +0000 2012
在Java中将日期字符串格式转换为日期?我知道,Date.parse(String)
但我不知道我应该使用哪种格式作为日期。我是否必须修改字符串以便将其解析为日期,如果是,那么如何?
问问题
2626 次
2 回答
6
使用SimpleDateFormat
, 格式字符串为
"E MMM dd HH:mm:ss Z yyyy"
您应该明确使用Locale.US
假设这些肯定会使用英文月/日名称。(例如,您不希望仅仅因为默认语言环境是法语就尝试解析法语名称。)
另外,不要忘记Date
返回的值不知道原始时区——它将具有原始文本中表示的瞬间的正确值,但不要期望调用结果toString()
使用相同的时区——Date.toString()
始终使用默认时区。
于 2012-11-22T16:03:46.050 回答
0
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.US);
Date test = sdf.parse("Tue Nov 13 14:35:04 +0000 2012");
System.out.print(test.toString());
于 2012-11-22T16:20:29.923 回答