tl;dr
Instant // Represent a moment in UTC.
.ofEpochSecond( mnSeconds ) // Determine a moment from a count of whole seconds since the Unix epoch of the first moment of 1970 in UTC (1970-01-01T00:00Z).
.plusNanos( mnNanoseconds ) // Add on a fractional second as a count of nanoseconds. Returns another `Instant` object, per Immutable Objects pattern.
.toString() // Generate text representing this `Instant` object in standard ISO 8601 format.
.replace( "T" , " " ) // Replace the `T` in the middle with a SPACE.
.replace "Z" , "" ) // Remove the `Z` on the end (indicating UTC).
Java.время
Платформа java.time встроен в Java 8 и более поздние версии. Эти классы заменяют старые проблемные классы даты и времени, такие как java.util.Date
, .Calendar
, java.text.SimpleDateFormat
, java.sql.Date
и другие. Команда Joda-Time также рекомендует перейти на java.time.
Instant
Класс Instant
представляет момент на временная шкала в формате UTC с разрешением до наносекунд.
long mnSeconds = … ;
long mnNanoseconds = … ;
Instant instant = Instant.ofEpochSecond( mnSeconds ).plusNanos( mnNanoseconds );
Или передайте оба числа в of
в качестве двух аргументов. Другой синтаксис, тот же результат.
Instant instant = Instant.ofEpochSecond( mnSeconds , mnNanoseconds );
Чтобы получить строку, представляющую это значение даты и времени, вызовите Instant::toString
.
String output = instant.toString();
Вы получите значение, такое как 2011-12-03T10:15:30.987654321Z
, в стандартном формате ISO 8601. Замените T
на ПРОБЕЛ, если хотите. Для других форматов выполните поиск в Stack Overflow, чтобы узнать о DateTimeFormatter
.
О java.time
java.time встроена в Java 8 и более поздние версии. Эти классы заменяют проблемные старые устаревшие классы даты и времени, такие как java.util.Date
, Calendar
и SimpleDateFormat
.
Проект Joda-Time, теперь в режим обслуживания, советует перейти на java.time.
Чтобы узнать больше, см. Учебное пособие по Oracle. И поищите множество примеров и пояснений в Stack Overflow. Спецификация: JSR 310.
Вы можете обмениваться объектами java.time непосредственно с вашей базой данных. Используйте драйвер JDBC, совместимый с JDBC 4.2 или более поздней версии. Нет необходимости в строках, нет необходимости в java.sql.*
классах.
Где получить классы java.time?
Проект ThreeTen-Extra расширяет java.time дополнительными классами. . Этот проект является испытательным полигоном для возможных дополнений к java.time в будущем. Здесь вы можете найти несколько полезных классов, таких как Interval
a>, YearWeek
, YearQuarter
и подробнее.
person
Basil Bourque
schedule
25.05.2015