Joda Time - String to DateTime转换

时间:2014-02-13 18:29:40

标签: elasticsearch jodatime

我需要一些帮助,将以下Thu, 13 Feb 2014 16:43:58 +0000字符串转换为DateTime类型。我有一个存储在ElasticSearch集群中的推文流,目前每个推文的时间戳都被映射为字符串。我希望解析这些以键入DateTime。

我尝试了EEE, dd MMM yyyy HH:mm:ss ZZZZZ,但失败了。任何帮助都会很棒。

感谢。

1 个答案:

答案 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));
    }
}