tl; dr
Niektóre inne odpowiedzi są prawidłowe w polecaniu klas java.time , ale używają niepotrzebnych długości do konkretnych potrzeb.
Instant.now() // Capture the current moment in UTC with a resolution as fines nanoseconds but usually in microseconds or milliseconds.
.truncatedTo( ChronoUnit.MINUTES ) // Lop off any seconds or fractional second, to get a value in whole minutes.
.toString() // Generate a String in standard ISO 8601 format where a `T` separates the year-month-day from the hour-minute-second, and the `Z` on the end for “Zulu” means UTC.
2018-01-23T12: 34Z
Instant::toString
jav.time.InstantKlasa reprezentuje moment w UTC, zawsze w UTC.
Instant instant = Instant.now() ;
instant.toString (): 2018-01-23T12: 34: 56.123456Z
Na Zkońcu przykładowego łańcucha 2010-10-12T08:50Zjest wymawiane „Zulu” i oznacza UTC .
Wybrany format jest zgodny z normą ISO 8601 . W java.time klas użyć tych standardowych formatów domyślnie podczas parsowania / generowania ciągów. Nie trzeba więc określać wzorca formatowania. ZadzwońInstant::toString jak pokazano powyżej.
Jeśli chcesz całe minuty bez sekundy lub ułamka sekundy, skróć. Określ jednostkę czasu za pomocą ChronoUnitklasy.
Instant instant = Instant.now().truncatedTo( ChronoUnit.MINUTES ) ;
String output = instant.toString(); // Generate a `String` object in standard ISO 8601 format.
O java.time
Środowisko java.time jest wbudowane w Javę 8 i nowsze wersje . Klasy te zastępują kłopotliwe starsze klasowe daty i godziny, takie jak java.util.Date:Calendar , iSimpleDateFormat.
Projekt Joda-Time , teraz w trybie konserwacji , zaleca migrację do java.timeklas .
Aby dowiedzieć się więcej, zobacz samouczek Oracle . I przeszukaj stos przepełnienia dla wielu przykładów i wyjaśnień. Specyfikacja to JSR 310 .
Możesz wymieniać obiekty java.time bezpośrednio ze swoją bazą danych. Użyj sterownika JDBC zgodnego z JDBC 4.2 lub nowszym. Nie potrzeba ciągów, nie ma potrzeby java.sql.*klas.
Gdzie można uzyskać klasy java.time?
Projekt ThreeTen-Extra rozszerza java.time o dodatkowe klasy. Ten projekt jest poligonem doświadczalnym dla ewentualnych przyszłych dodatków do java.time. Można znaleźć kilka przydatnych klas tutaj takie jak Interval, YearWeek, YearQuarter, i więcej .