如何在Java中将这个"Tue Nov 13 14:35:04 +0000 2012"字符串格式转换为日期?

use*_*398 2 java date

如何Tue Nov 13 14:35:04 +0000 2012在Java 中将日期字符串格式转换为日期?我知道,Date.parse(String)但我不知道我应该使用哪种格式的日期.我是否必须修改字符串以便将其解析为日期,如果是,那么如何?

Jon*_*eet 6

使用SimpleDateFormat,格式字符串为

"E MMM dd HH:mm:ss Z yyyy"
Run Code Online (Sandbox Code Playgroud)

您应明确使用Locale.US假设这些肯定会使用英文月/日名称.(例如,您不希望仅因为默认语言环境是法语而尝试解析法语名称.)

此外,不要忘记Date返回的值将不知道原始时区 - 它将具有原始文本中表示的瞬间的正确值,但不要指望调用的结果toString()使用相同的区域 - Date.toString()始终使用默认时区.