Какой шаблон я должен использовать в SimpleDateFormat? - PullRequest
0 голосов
/ 03 апреля 2012

У меня дата отформатирована следующим образом:

        2010-02-04T00:00:00

Я использую этот код для ее анализа:

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-ddTHH:mm:ss");
        Date parsed = dateFormat.parse("2010-02-04T00:00:00");

Возвращает исключение.Проблема в букве "Т".Как я могу разобрать эту дату, если сервер возвращает ее в таком формате?

Ответы [ 4 ]

2 голосов
/ 03 апреля 2012
SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss");

подробнее об этом можно прочитать здесь Использование буквенных символов в шаблонной строке SimpleDateFormat

1 голос
/ 03 апреля 2012
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("EEE MMM dd'T' hh:mm:ss z yyyy");

Date myDate = sdf.parse(strDate);
sdf2.format(myDate);

System.out.println(myDate);

Это будет работать ...

1 голос
/ 03 апреля 2012

попробуйте это:

  dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

редактировать строчные буквы m количество раз в минуту в час. см. документ

1 голос
/ 03 апреля 2012

Просто используйте эту строку вместо: "2010-02-04'T'00:00:00". Символ-'экранирует буквы, поэтому они не анализируются как часть даты.

Или, как объясняет документация SimpleDateFormat :

Текст может быть заключен в кавычки ('), чтобы избежать интерпретации.«» обозначает одну кавычку.Все остальные символы не интерпретируются;они просто копируются в выходную строку во время форматирования или сопоставляются с входной строкой во время синтаксического анализа.

...