Joda Time - String to DateTime转换

Nat*_*han 2 jodatime elasticsearch

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

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

谢谢.

Jon*_*eet 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));
    }
}
Run Code Online (Sandbox Code Playgroud)