Каков формат времени now() в Threeten?

Я использую модуль ThreeTen, и когда я печатаю ZonedDateTime.now(), я получаю.

2019-07-11T22:43:36.564-07:00[America/Los_Angeles]

Что это за формат? Я попробовал uuuu-MM-dd'T'HH:mm:ss.SSS'Z', и он говорит:

org.threeten.bp.format.DateTimeParseException: Text '2019-07-11T22:43:36.564-07:00[America/Los_Angeles]' could not be parsed at index 23

Итак, после SSS часть 'Z' неверна.

Каков правильный способ его реализации?

Это мой код:

val pstTime = ZonedDateTime.now(ZoneId.of("America/Los_Angeles")).toString()
val timeFormatter = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSS'Z'")
val mTime = LocalDateTime.parse(pstTime, timeFormatter).toString()
tv_pstTime.text = mTime

Я хочу разобрать его в такой формат, как Tuesday, July 2 5:15:01 P.M. Как я могу это сделать?

уууу-ММ-дд или гггг-ММ-дд?

Sony 12.07.2019 08:29

вы можете увидеть символы [ и ] в строке. Я думаю, вам нужно добавить их в свой формат. Что-то вроде этого: yyyy-MM-dd'T'HH:mm:ss.SSS['Z']

Vladyslav Matviienko 12.07.2019 08:30

@Sony Мне сказали, что uuuu лучше.

c-an 12.07.2019 08:57

@Сони uuuu по сравнению с yyyy в кодах шаблонов форматирования DateTimeFormatter в Java?

Ole V.V. 12.07.2019 14:13

Кавычки вокруг Z означают, что в строке даты и времени должен быть литерал Z. Никогда используйте это, это важно. (Если бы в вашей строке был Z, это было бы смещение, и вам нужно было бы анализировать его как таковое, а не как литерал.)

Ole V.V. 12.07.2019 14:24
0
5
495
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать DateTimeFormatter.ofPattern("...."). Внутри .ofPattern("....") может быть любой узор на ваше усмотрение.

Так:

val result = ZonedDateTime.now(ZoneId.of("America/Los_Angeles"))
                          .format(DateTimeFormatter.ofPattern("EEEE, MMMM d HH:mm:ss a"))

Выход: Thursday, July 11 23:51:21 PM

Вы просмотрели конкретные вопросы спрашивающего и четко определили, что ему действительно нужно. Действительно отлично подходит для первого ответа на переполнение стека. Спасибо и добро пожаловать сюда!

Ole V.V. 12.07.2019 14:38

Другие вопросы по теме