我需要一些帮助,将以下Thu, 13 Feb 2014 16:43:58 +0000
字符串转换为DateTime类型。我有一个存储在ElasticSearch集群中的推文流,目前每个推文的时间戳都被映射为字符串。我希望解析这些以键入DateTime。
我尝试了EEE, dd MMM yyyy HH:mm:ss ZZZZZ
,但失败了。任何帮助都会很棒。
感谢。
答案 0 :(得分:6)
您只需要一个Z
来表示“没有冒号的偏移”。
另请注意,您应确保DateTimeFormatter
使用英文月/日名称。
例如:
import java.util.*;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
class Test {
public static void main(String[] args) throws Exception {
DateTimeFormatter format =
DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss Z")
.withLocale(Locale.US);
String text = "Thu, 13 Feb 2014 16:43:58 +0000";
System.out.println(format.parseDateTime(text));
}
}