Как разобрать "dateTime.tz" в Java - PullRequest
0 голосов
/ 11 февраля 2011

Дата в формате "dateTime.tz" выглядит следующим образом:

2010-07-21T314:20:5.390Z

Как я могу разобрать такую ​​дату? Я могу использовать Regex, но, возможно, есть лучший способ?

Ответы [ 5 ]

4 голосов
/ 11 февраля 2011

Похоже, dateTime.tz в формате ISO-8601.Итак, вы должны быть в состоянии сделать что-то вроде этого: -

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

См. Здесь, например: http://developer.marklogic.com/learn/2004-09-dates

2 голосов
/ 11 февраля 2011

Joda DateTime http://joda -time.sourceforge.net / apidocs / org / joda / time / DateTime.html имеет методы для обработки дат

См. http://joda -time.sourceforge.net / apidocs / org / joda / time / format / ISODateTimeFormat.html # dateTimeParser% 28% 29

Например:

public static DateTimeFormatter dateTimeParser()

    Returns a generic ISO datetime parser which parses either a date or a time or both. 
It accepts formats described by the following syntax:

     datetime          = time | date-opt-time
     time              = 'T' time-element [offset]
     date-opt-time     = date-element ['T' [time-element] [offset]]
     date-element      = std-date-element | ord-date-element | week-date-element
     std-date-element  = yyyy ['-' MM ['-' dd]]
     ord-date-element  = yyyy ['-' DDD]
     week-date-element = xxxx '-W' ww ['-' e]
     time-element      = HH [minute-element] | [fraction]
     minute-element    = ':' mm [second-element] | [fraction]
     second-element    = ':' ss [fraction]
     fraction          = ('.' | ',') digit+
     offset            = 'Z' | (('+' | '-') HH [':' mm [':' ss [('.' | ',') SSS]]])
1 голос
/ 11 февраля 2011

DateFormat df = new SimpleDateFormat ("гггг-мм-дд'тхх: мм: сс'З");Я не пробовал это.

1 голос
/ 11 февраля 2011

Это стандартная дата и время ISO; Вы можете легко разобрать его с помощью java.text.SimpleDateFormat - но это не является потокобезопасным, поэтому вы должны убедиться, что вы правильно синхронизируете его. Или вы можете использовать библиотеку JodaTime, которая имеет лучшую безопасность потоков.

Шаблон для SimpleDateFormat, который работает с тем, что вы указали, имеет вид "ГГГГ-ММ-дд'ТХХ24: мм: сс.ССС'З '".

1 голос
/ 11 февраля 2011

SimpleDateFormat.parse() - это то, что вы ищете.

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