Текущая дата и время в формате ГГГГ-ММ-ДДТЧЧ: MM.000z (ISO 8601) в Android

Здравствуйте, я очень новичок в разработке Android, сейчас работаю над кодом Android, мне нужно получить текущую дату и время в этом формате

YYYY-MM-DDTHH:MM.000z

Например, 2013-11-26T03: 16: 00.000Z

Любая помощь будет действительно оценена


person user3037815    schedule 26.11.2013    source источник
comment
stackoverflow.com/questions/1459656/   -  person Bryan Herbst    schedule 26.11.2013


Ответы (3)


Документация для класса SimpleDateFormat Android доступна по адресу:

http://developer.android.com/reference/java/text/SimpleDateFormat.html

Также, похоже, ранее были даны ответы . Среди других мест.

person Matt N.    schedule 26.11.2013
comment
К вашему сведению, неприятные старые классы даты и времени, такие как java.util.Date, java.util.Calendar и java.text.SimpleDateFormat, теперь унаследованы, заменены java.time классы. Большая часть функций java.time перенесена на Java 6 и Java 7 в Проект ThreeTen-Backport. Дальнейшая адаптация для более ранних версий Android в ThreeTenABP проект. См. Как использовать ThreeTenABP…. - person Basil Bourque; 26.01.2018

tl;dr

Вы запрашиваете для формата ISO 8601 значение часовой пояс UTC.

Instant.now().toString()

2018-01-25T22:50:24.702645Z

java.time

Классы java.time по умолчанию используют стандартные форматы ISO 8601 при синтаксическом анализе или генерации строк.

Класс Instant представляет собой момент на шкала времени в UTC с разрешением наносекунды (до девяти (9) цифр десятичной дроби).

Получить текущий момент в UTC:

Instant instant = Instant.now() ;

Чтобы сгенерировать строку в стандартном формате ISO 8601:

String output = instant.toString() ;  // Generate string in standard format.

Пойдем в другую сторону, разобрав такую ​​строку.

Instant instant = Instant.parse( "2013-11-26T03:16:00.000Z" );

Найдите в Stack Overflow подробное обсуждение таких классов java.time, как ZoneId, ZonedDateTime и OffsetDateTime.

Джода-Тайм

Обновление: проект Joda-Time теперь находится в режим обслуживания, при этом команда советует перейти на классы java.time.

Форматы ISO 8601 используются по умолчанию для библиотеки Joda-Time 2.3.

System.out.println( "Now: " + new org.joda.time.DateTime( org.joda.time.DateTimeZone.UTC ) );

При запуске…

Now: 2013-11-26T20:25:12.014Z

О java.time

Фреймворк java.time является встроен в Java 8 и новее. Эти классы заменяют неудобные старые устаревшие классы даты и времени, такие как _ 11_, _ 12_, & _ 13_.

Проект Joda-Time теперь в режим обслуживания, советует перейти на java.time классы.

Чтобы узнать больше, см. Учебник Oracle. И поищите в Stack Overflow множество примеров и объяснений. Спецификация - JSR 310.

Где взять классы java.time?

Проект ThreeTen-Extra расширяет java.time дополнительными классами. Этот проект является испытательной площадкой для возможных будущих дополнений к java.time. Здесь вы можете найти несколько полезных классов, например _14 _, YearWeek, _ 16_ и подробнее.

person Basil Bourque    schedule 26.11.2013

Используйте 1_

person Joel Fernandes    schedule 26.11.2013