tl; др
Instant.now() // Capture current moment in UTC.
.toString() // Generate a String object in standard ISO 8601 format, YYYY-MM-DDTHH:MM:SS.SSSSSSSSSZ.
2018-02-16T23: 28: 01.101324Z
java.time
В современном подходе используются java.time классы.Полностью избегайте утомительных устаревших классов даты и времени.
Класс Instant
представляет момент на временной шкале в UTC с разрешением наносекунд (до девяти (9) цифр десятичной дроби).
Instant instant = Instant.now() ; // Capture the current moment in UTC.
Создайте строку в стандартном формате ISO 8601, вызвав toString
.
String output = instant.toString() ;
Если вам требуется больше гибкости, чем обеспечивает Instant
, например форматирование при генерации строк,используйте OffsetDateTime
с константой ZoneOffset.UTC
.
OffsetDateTime odt = OffsetDateTime.now( ZoneOffset.UTC ) ; // Capture the current moment in UTC.
Для генерации строк в нестандартных форматах используйте DateTimeFormatter
.
О java.time
Среда java.time встроена в Java 8 и более поздние версии.Эти классы вытесняют старые классные устаревшие классы даты и времени, такие как java.util.Date
, Calendar
и & SimpleDateFormat
.
Проект Joda-Time , теперь в режиме обслуживания , рекомендует перейти на классы java.time .
Чтобы узнать больше, см. Oracle Tutorial .И поиск переполнения стека для многих примеров и объяснений.Спецификация: JSR 310 .
Используя драйвер JDBC , совместимый с JDBC 4.2 или более поздней версией, вы можете обменять java.time объектов непосредственно с вашей базой данных.Нет необходимости ни в строках, ни в java.sql. * Классах.
Где получить классы java.time?
ThreeTen-Extra Проект расширяет java.time дополнительными классами.Этот проект является полигоном для возможных будущих дополнений к java.time.Здесь вы можете найти некоторые полезные классы, такие как Interval
, YearWeek
, YearQuarter
и more .