Zdobądź aktualny znacznik czasu w Javie

Zdobądź aktualny znacznik czasu w Javie
Znacznik czasu jest datą i godziną, w której wydarzenie się wydarzyło. W komputerach może to być data, kiedy wprowadzono specjalne dane wejściowe lub kiedy wykonano specjalne wyjście lub inne wewnętrzne zdarzenie komputerowe, takie jak wkładanie określonych danych do bazy danych. Obecny znacznik czasu jest teraz znacznikiem czasu. Jeśli zdarzenie nastąpi teraz, a znacznik czasu zostanie zarejestrowany, jutro byłby znacznik czasu wczorajszego.

Jest lokalny znacznik czasu, znacznik czasu GMT i znacznik czasu UTC. Lokalny znacznik czasu to data wykorzystywana w twoim kraju do celów prawnych, komercyjnych i społecznych. Znacznik czasu GMT i znacznik czasu UTC mają takie same odniesienie. Strefa czasowa jest przesunięciem dla twojego kraju, który można dodać do UTC, aby mieć czas lokalny. Strefa czasowa +08: 45 oznacza dodanie 8 godzin i 45 minut do czasu UTC.

Data znacznika czasu ma rok, miesiąc i dzień miesiąca. Część czasu czasu ma co najmniej godzinę, minuty i sekundy. Może również mieć milisekund i/lub strefę czasową (przesunięcie). Uwaga: 1 ms = 1/1000 s.

Zakres czasu powinien być podany przez komputer. Zegar systemowy musi być poprawny. Klasa, Java.czas.Natychmiastowe jest to, co należy użyć do uzyskania znacznika czasu dzisiaj w Javie.

Jawa.czas.Natychmiastowy

Java ma klasę, Java.czas.Instant, który został celowo zaprojektowany dla znacznika czasu. Instant Class ma dwie ważne metody: teraz () i toString (). „Teraz” zwraca teraz obiekt znacznika czasu. ToString () Zwraca format ciągu znacznika czasu. Poniższy program ilustruje ich zastosowania:

Importuj Java.czas.Natychmiastowy;
Klasa publiczna THEClass
public static void main (string [] args)
Instant Tsobj = Instant.Teraz();
String tsstr = tsobj.ToString ();
System.na zewnątrz.println (TSSTR);

Program zaczyna się od importu natychmiastowej klasy Java.pakiet czasu. Następnie istnieje definicja (implementacja) klasy głównej. Wewnątrz metody main (), pierwsza instrukcja używa metody now () klasy instant. teraz () jest metodą statyczną, co oznacza, że ​​nie potrzebuje instanowanego obiektu, aby działać. Używa nazwy instant klasy, aby zwrócić obiekt znacznika czasu swojej klasy błyskawicznej. Metoda TOSTRING () obiektu natychmiastowego znaczącego zwraca czytelny ciąg obiektu znacznikiem czasu w formacie ISO-8601.

Wyjście komputera autora to:

2021-10-31T11: 53: 15.271438Z

To wymaga wyjaśnienia. Pierwsze cztery cyfry to rok wydarzenia. Następnie następuje łącznik, który oddziela go od następnych dwóch cyfr, czyli miesiąca wydarzenia. Następnie następuje łącznik, który oddziela go od następnych dwóch cyfr, który jest dniem miesiąca wydarzenia. Znacznik czasu ma część daty i część czasu. Części daty i godziny są oddzielone „t”. Część czasu zaczyna się od dwóch cyfr (24-godzinny zegar), co jest godziną wydarzenia. Następnie następuje okrężnica, która oddziela go od następnych dwóch cyfr, które są protokoły wydarzenia. Następnie następuje okrężnica, która oddziela go od następnych dwóch cyfr, które są sekundami wydarzenia. Następnie jest kropka i mikrosekundy. Z oznacza, że ​​znacznik czasu nie ma przesunięcia.

Uwaga: ToString () nie jest metodą statyczną. Potrzebuje instanowanego natychmiastowego obiektu, aby działać. Zwraca ciąg, który można przechowywać (w bazie danych).

Java Epoch

Czas w Javie jest faktycznie mierzony z Unix Epoch. UNIX EPOCH to 1970-01-01T00: 00: 00Z .

Liczba sekund od Java Epoch

Poniższy program otrzymuje liczbę sekund, od czasu Java Epoch:

Importuj Java.czas.Natychmiastowy;
Klasa publiczna THEClass
public static void main (string [] args)
Instant Tsobj = Instant.Teraz();
długie sekcje = tsobj.ginepochsecond ();
System.na zewnątrz.println (secs);

Dane wyjściowe z komputera autora to:

1635687372

Metodą zastosowanego natychmiastowego obiektu jest BedaPochsecond (). Zwraca długą liczbę całkowitą.

Instant Minusseconds (długi SecondSubtract)

Obecny czas można zwrócić z kilkoma sekundami odejmowanymi. Daje to datetime wcześniej. Poniższy program ilustruje to:

Importuj Java.czas.Natychmiastowy;
Klasa publiczna THEClass
public static void main (string [] args)
Instant Instobj = Instant.Teraz();
Instant sbobj = instobj.Minusseconds (1000000000);
String str = sbobj.ToString ();
System.na zewnątrz.println (str);

Wyjście komputera autora to:

1990-02-22T12: 07: 28.777609Z

Bieżący obiekt znacznika czasu należy uzyskać najpierw przed odjęciem liczby sekund. Zastosowana tutaj główna metoda to:

Minusseconds (długi SecondSubtract)

Działa z natychmiastowym obiektem, a nie z klasą natychmiastową (nazwa).

Instant Plusseconds (długi SecondSoadd)

Bieżący godzina można zwrócić z kilkoma sekundami. To da datetime. Poniższy program ilustruje to:

Importuj Java.czas.Natychmiastowy;
Klasa publiczna THEClass
public static void main (string [] args)
Instant Instobj = Instant.Teraz();
Instant sbobj = instobj.Plusseconds (1000000000);
String str = sbobj.ToString ();
System.na zewnątrz.println (str);

Wyjście komputera autora to:

2053-07-09T15: 52: 24.919626Z

Obecny obiekt znacznika czasu należy uzyskać najpierw przed dodaniem do niego liczby sekund. Zastosowana tutaj główna metoda to:

Plusseconds (długi SecondSoadd)

Działa z natychmiastowym obiektem, a nie z klasą natychmiastową (nazwa).

Właściwości statyczne z klasy błyskawicznej

Właściwości statyczne (pola) w klasie błyskawicznej to epoka, maks. I min. Właściwość statyczna nie wymaga instanowanego obiektu do dostępu. Działa z nazwą klasy. Epoka jest,

1970-01-01T00: 00: 00Z

Poniższy program wyświetla epok:

Importuj Java.czas.Natychmiastowy;
Klasa publiczna THEClass
public static void main (string [] args)
Instant Instobj = Instant.EPOKA;
String str = instobj.ToString ();
System.na zewnątrz.println (str);

Wyjście jest,

1970-01-01T00: 00: 00Z

zgodnie z oczekiwaniami.

Max daje maksymalne obsługiwane natychmiastowe. Poniższy program przedstawia wartość dla maksymalnej w formie ciągów:

Importuj Java.czas.Natychmiastowy;
Klasa publiczna THEClass
public static void main (string [] args)
Instant Instobj = Instant.Max;
String str = instobj.ToString ();
System.na zewnątrz.println (str);

Wyjście to:

+1000000000-12-31T23: 59: 59.999999999Z

Ostatnia dziewięć cyfrowych liczby dotyczy nanosekund.

Min daje minimalną obsługę. Poniższy program przedstawia wartość dla min w formie ciągów:

Importuj Java.czas.Natychmiastowy;
Klasa publiczna THEClass
public static void main (string [] args)
Instant Instobj = Instant.Min;
String str = instobj.ToString ();
System.na zewnątrz.println (str);

Wyjście to:

-1000000000-01-01T00: 00: 00z

Wniosek

Znacznik czasu jest datą i godziną, w której wydarzenie się wydarzyło. Obecny znacznik czasu jest teraz znacznikiem czasu. Instant Class of the Java Pakiet, Java.czas.* Powinny być używane do pracy. Ważne metody klasy znacznika czasu to teraz () i toString ().