Joda Datetime.Как установить часовой пояс для проанализированного DateTime? - PullRequest
0 голосов
/ 09 октября 2018

Я использую Scala вместе с игровым фреймворком.Я хочу проанализировать строку с простой датой и сказать, что она в формате UTC.Поэтому, если у меня есть 2018-10-04 , я хочу получить 2018-10-04T00: 00: 00.000Z

С этим:

DateTime.parse("2018-10-04", DateTimeFormat.forPattern("yyyy-mm-dd")).withZone(DateTimeZone.UTC)

Я продолжаю получать 2018-10-03T22: 00: 00.000Z , если у меня +2 часовой пояс.Как просто сказать, что он уже в UTC?

1 Ответ

0 голосов
/ 09 октября 2018

Одним из способов является использование LocalDatetime для первоначального игнорирования часового пояса:

scala> LocalDateTime.parse("2018-10-04", DateTimeFormat.forPattern("yyyy-MM-dd"))
res11: org.joda.time.LocalDateTime = 2018-10-04T00:00:00.000

, затем вы можете использовать toDateTime, чтобы сделать этот UTC:

scala> LocalDateTime.parse("2018-10-04", DateTimeFormat.forPattern("yyyy-MM-dd")).toDateTime(DateTimeZone.UTC)
res12: org.joda.time.DateTime = 2018-10-04T00:00:00.000Z

Также: Вы должны использовать ММ (месяц), а не мм (минута).

...