1. LocalDateTimeklass
Klassen LocalDateTimekombinerar funktionerna i klasserna LocalDateoch LocalTime: den lagrar både ett datum och en tid. Dess objekt är också oföränderliga, och dess metoder liknar dem för klasserna LocalDateoch .LocalTime
Hämta aktuellt datum och tid
Allt är som du förväntar dig här: vi använder now()metoden. Exempel:
| Koda | Konsolutgång |
|---|---|
|
|
När de visas på skärmen separeras datum och tid med bokstaven T.
Få ett specifikt datum och tid
Föga förvånande, allt liknar klasserna LocalDateoch LocalTime- vi använder of()metoden:
... = LocalDateTime.of(year, month, day, hours, minutes, seconds);
För det första finns det parametrar som anger datumet i samma format som i klassen LocalDate. Sedan finns det parametrar som anger tiden i samma format som i klassen LocalTime. En lista över alla varianter av of()metoden ges nedan:
| Metoder |
|---|
|
|
|
|
|
|
|
Du kan ställa in datumet direkt eller ställa in det indirekt genom LocalDateoch LocalTimeobjekt:
| Koda |
|---|
|
| Konsolutgång |
|
Klassen LocalDateTimehar metoder för att få element av ett datum och/eller tid. De speglar exakt metoderna för klasserna LocalDateoch . LocalTimeVi kommer inte att upprepa dem här.
2. Instantklass
Javas skapare har heller inte glömt gamla skolans sätt.
Date Time API innehåller en Instant-klass för att arbeta med tid avsedd för processer som sker i datorer. Istället för timmar, minuter och sekunder, handlar det om sekunder, millisekunder och nanosekunder.
Den här klassen har två fält som representerar:
- antalet sekunder som har förflutit sedan 1 januari 1970
- ett antal nanosekunder
Var klassen gjord för utvecklare? Ja. Det är därför den beräknar tiden i Unix-tid, som börjar i början av 1970.
Man kan till och med säga att Instantklassen är en förenklad version av Dateklassen, som bara behåller det som programmerare behöver.
Du kan få ett Instantobjekt på exakt samma sätt som ett LocalTimeobjekt:
Instant timestamp = Instant.now();
Where timestampär en Instantvariabel och är ett anrop till klassens statiska metod .Instant.now()now()Instant
Exempel:
| Koda | Konsolutgång |
|---|---|
|
|
Du kan också skapa ett nytt objekt med hjälp av varianter av of()metoden genom att skicka in den tid som förflutit sedan 1 januari 1970:
|
Du måste passera antalet millisekunder |
|
Du måste passera antalet sekunder |
|
Du måste passera sekunderna och nanosekunderna |
Metoder tillgängliga på Instantobjekt
Klassen Instant har två metoder som returnerar värdena för dess fält:
|
Antal sekunder som har förflutit sedan 1 januari 1970 |
|
Nanosekunder. |
|
Antal millisekunder som har förflutit sedan 1 januari 1970 |
Det finns också metoder för att skapa ett nytt Instantobjekt baserat på ett befintligt:
|
Lägger till sekunder till den aktuella tiden |
|
Lägger till millisekunder |
|
Lägger till nanosekunder |
|
Subtraherar sekunder |
|
Subtraherar millisekunder |
|
Subtraherar nanosekunder |
Exempel:
| Koda | Konsolutgång |
|---|---|
|
|
GO TO FULL VERSION