如何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 回答