2014-02-13 3 views
2

Мне нужна помощь в преобразовании следующей строки Thu, 13 Feb 2014 16:43:58 +0000 для ввода DateTime. У меня есть поток твитов, хранящихся в кластере ElasticSearch, в настоящее время метка времени каждого твита отображается в виде строки. Я хочу проанализировать их, чтобы напечатать DateTime.Время Joda - преобразование строки в DateTime

Я пробовал EEE, dd MMM yyyy HH:mm:ss ZZZZZ, но это не удалось. Любая помощь будет большой.

Спасибо.

+0

Покажите нам, что/как вы пытались. –

+0

@SotiriosDelimanolis Я сделал, это выше. Должно быть, это плохо, вы не можете его увидеть. – Nate

+0

@NSmeef: Ну, вы показали шаблон, но ничего не знаете о коде. Например, вы не указали, указали ли вы английский язык ... (И игнорирование людей, которые пытаются вам помочь, никогда не является хорошим планом.) –

ответ

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)); 
    } 
} 
Смежные вопросы