Java Language
Lokal tid
Sök…
Syntax
- LocalTime time = LocalTime.now (); // Initierar med aktuell systemklocka
- LocalTime time = LocalTime.MIDNIGHT; // 00:00
- LocalTime time = LocalTime.NOON; // 12:00
- LocalTime time = LocalTime.of (12, 12, 45); // 12:12:45
parametrar
Metod | Produktion |
---|---|
LocalTime.of(13, 12, 11) | 13:12:11 |
LocalTime.MIDNIGHT | 00:00 |
LocalTime.NOON | 00:00 |
LocalTime.now() | Aktuell tid från systemklocka |
LocalTime.MAX | Den maximala stödda lokala tiden 23: 59: 59.999999999 |
LocalTime.MIN | Minsta stödjande lokal tid 00:00 |
LocalTime.ofSecondOfDay(84399) | 23:59:59, Erhåller tid från andra dagsvärdet |
LocalTime.ofNanoOfDay(2000000000) | 00:00:02, Erhåller tid från dagens värde |
Anmärkningar
Som LocalTime
representerar LocalTime
en tid utan en tidszon. Det representerar inte ett datum. Det är en enkel etikett under en viss tid.
Klassen är värdebaserad och metoden equals
bör användas när man gör jämförelser.
Denna klass kommer från paketet java.time.
Tidsändring
Du kan lägga till timmar, minuter, sekunder och nanosekunder:
LocalTime time = LocalTime.now();
LocalTime addHours = time.plusHours(5); // Add 5 hours
LocaLTime addMinutes = time.plusMinutes(15) // Add 15 minutes
LocalTime addSeconds = time.plusSeconds(30) // Add 30 seconds
LocalTime addNanoseconds = time.plusNanos(150_000_000) // Add 150.000.000ns (150ms)
Tidszoner och deras tidsskillnad
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
public class Test {
public static void main(String[] args)
{
ZoneId zone1 = ZoneId.of("Europe/Berlin");
ZoneId zone2 = ZoneId.of("Brazil/East");
LocalTime now = LocalTime.now();
LocalTime now1 = LocalTime.now(zone1);
LocalTime now2 = LocalTime.now(zone2);
System.out.println("Current Time : " + now);
System.out.println("Berlin Time : " + now1);
System.out.println("Brazil Time : " + now2);
long minutesBetween = ChronoUnit.MINUTES.between(now2, now1);
System.out.println("Minutes Between Berlin and Brazil : " + minutesBetween +"mins");
}
}
Mängd tid mellan två LocalTime
Det finns två ekvivalenta sätt att beräkna mängden tidsenhet mellan två LocalTime
: (1) until(Temporal, TemporalUnit)
-metoden och genom (2) TemporalUnit.between(Temporal, Temporal)
.
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
public class AmountOfTime {
public static void main(String[] args) {
LocalTime start = LocalTime.of(1, 0, 0); // hour, minute, second
LocalTime end = LocalTime.of(2, 10, 20); // hour, minute, second
long halfDays1 = start.until(end, ChronoUnit.HALF_DAYS); // 0
long halfDays2 = ChronoUnit.HALF_DAYS.between(start, end); // 0
long hours1 = start.until(end, ChronoUnit.HOURS); // 1
long hours2 = ChronoUnit.HOURS.between(start, end); // 1
long minutes1 = start.until(end, ChronoUnit.MINUTES); // 70
long minutes2 = ChronoUnit.MINUTES.between(start, end); // 70
long seconds1 = start.until(end, ChronoUnit.SECONDS); // 4220
long seconds2 = ChronoUnit.SECONDS.between(start, end); // 4220
long millisecs1 = start.until(end, ChronoUnit.MILLIS); // 4220000
long millisecs2 = ChronoUnit.MILLIS.between(start, end); // 4220000
long microsecs1 = start.until(end, ChronoUnit.MICROS); // 4220000000
long microsecs2 = ChronoUnit.MICROS.between(start, end); // 4220000000
long nanosecs1 = start.until(end, ChronoUnit.NANOS); // 4220000000000
long nanosecs2 = ChronoUnit.NANOS.between(start, end); // 4220000000000
// Using others ChronoUnit will be thrown UnsupportedTemporalTypeException.
// The following methods are examples thereof.
long days1 = start.until(end, ChronoUnit.DAYS);
long days2 = ChronoUnit.DAYS.between(start, end);
}
}
Intro
LocalTime är en immutable klass och tråd-säker, används för att representera tid, ofta ses som timme-min-sek. Tiden representeras till nanosekundens precision. Till exempel kan värdet "13: 45.30.123456789" lagras i en LocalTime.
Denna klass lagrar inte eller representerar ett datum eller en tidszon. Istället är det en beskrivning av lokal tid sett på en väggklocka. Det kan inte representera ett ögonblick på tidslinjen utan ytterligare information såsom en förskjutning eller tidszon. Detta är en värdebaserad klass, lika metod bör användas för jämförelser.
Fields
MAX - Maximalt stöd för LocalTime, '23: 59: 59.999999999 '. MIDNIGHT, MIN, NOON
Viktiga statiska metoder
nu (), nu (Klockaklocka), nu (ZoneId-zon), analysera (CharSequence-text)
Viktiga instansmetoder
isAfter (LocalTime other), isFore (LocalTime other), minus (TemporalAmount amountToSubtract), minus (long amountToSubtract, TemporalUnit-enhet), plus (TemporalAmount amountToAdd), plus (long amountToAdd, TemporalUnit-enhet)
ZoneId zone = ZoneId.of("Asia/Kolkata");
LocalTime now = LocalTime.now();
LocalTime now1 = LocalTime.now(zone);
LocalTime then = LocalTime.parse("04:16:40");
Skillnaden i tid kan beräknas på något av följande sätt
long timeDiff = Duration.between(now, now1).toMinutes();
long timeDiff1 = java.time.temporal.ChronoUnit.MINUTES.between(now2, now1);
Du kan också lägga till / subtrahera timmar, minuter eller sekunder från alla objekt i LocalTime.
minusHours (long hoursToSubtract), minusMinutes (long hoursToMinutes), minusNanos (long nanosToSubtract), minusSeconds (long secondsToSubtract), plusHours (long hoursToSubtract), plusMinutes (long hoursToMinutes), plusNanos (longSractTracts)
now.plusHours(1L);
now1.minusMinutes(20L);