A
представляет «Миллисекунды в день».Это не то же самое, что дробные секунды, которые вы хотите.Для этого используйте S
.
ZZZZZ
, чтобы получить часовой пояс в формате, таком как -08:00
.Поскольку вы хотите, чтобы фактический Z
отображался в выходных данных для представления времени зулу, используйте X
.X
в сочетании с часовым поясом, установленным на 0 секунд по Гринвичу, приводит к Z
на выходе.
Вышеуказанное основано на предположении, что .22220430
в вашем желаемом выходе - это все доли секунды.
Ваш конечный формат должен быть yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSX
.
И вы также должны установить языковой стандарт форматера на en_US_POSIX
.Вы должны всегда использовать эту локаль при использовании dateFormat
, чтобы пользовательские настройки не привели к неожиданным результатам.
Также обратите внимание, что вы на самом деле не получите 8 значащих цифр дробных секунд.Все, что больше трех S
, вероятно, бессмысленно.