Разбор строки даты JavaScript в Java - PullRequest
9 голосов
/ 11 сентября 2009

Клиент JavaScript отправляет некоторые строки на мой сервер, одна из которых представлена ​​в виде строкового представления объекта JavaScript Date.

Теперь этот объект JavaScript Date имеет свое собственное форматирование, и мне просто интересно, существует ли класс, который выполняет правильное преобразование, так как у меня возникают проблемы с SimpleDateFormatter.

Вот как выглядит строка даты JavaScript: Tue Feb 12 2013 21:12:28 GMT+0100 (CET)

Ответы [ 2 ]

12 голосов
/ 11 сентября 2009

Лучший способ сериализации даты в javascript - использовать toUTCString (а не просто toString()); toUTCString выдаст дату rfc 822 (в том же формате, который используется http). Тогда вы можете просто использовать следующий шаблон SimpleDateFormat, чтобы проанализировать его в Java:

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH)
3 голосов
/ 11 сентября 2009

Лично я предпочитаю форматеры Joda Time по одной основной причине: они поточнобезопасны и неизменяемы, поэтому вы можете создать их, хранить статически и повторно использовать без каких-либо забот. Joda также позволяет легко указывать часовые пояса и т. Д. Конечно, они заканчивают тем, что создают объекты Joda, что является еще одним преимуществом IMO - я стараюсь по возможности избегать API даты / времени Java.

Сказав это, нам нужно больше узнать о формате, который вы пытаетесь проанализировать, и что не так с SimpleDateFormatter. (Как правило, если вы «испытываете проблемы» с чем-то и хотите, чтобы эти проблемы были исправлены, полезно описать, в чем заключаются проблемы, в идеале с помощью короткой, но полной программы для демонстрации проблемы.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...