Konwerter czasu Unix

Konwerter czasu Epoch dla łatwego timestamp do daty i czasu konwersji. Przekształć datę i godzinę na znacznik czasu Unix (alias Czas Unix, czas Epoch) lub wykonać odwrotną epokę do daty i czasu konwersji.

Konwersja

Przelicz Unix Timestamp

Znacznik czasu do daty i godziny

Data i godzina do znacznika czasu

Przewodnik

O znacznikach czasu Uniksa

Znacznik czasu Unix jest sposobem na śledzenie czasu jako biegania w sumie sekund począwszy od Unix Epoch 1 stycznia 1970, w UTC. Ta liczba sekund jest pojedynczą liczbą, która reprezentuje określony punkt w czasie.

Najważniejsze punkty dotyczące znaczników czasu Unix:

  • Są one zawsze w UTC (koordynowany czas uniwersalny)
  • Są one reprezentowane jako jedna liczba (sekundy od epoki)
  • Są one szeroko stosowane w systemach programowania i komputerowych
  • Zapewniają standaryzowany sposób reprezentowania czasu w różnych systemach
Przewodnik

Zrozumienie znaczników czasu Uniksa

Znaczniki czasu Unix, znane również jako czas Epocha lub czas POSIX, są podstawową koncepcją obliczeniową umożliwiającą spójną reprezentację czasu w różnych systemach i aplikacjach. W jego jądrze znacznik czasu Unix jest po prostu liczbą całkowitą, która liczy liczbę sekund, które upłynęły od czasu Unix Epoch - 1 stycznia 1970, o 00: 00: 00 UTC.

Tło historyczne

System znaczników czasu Unix został opracowany we wczesnych dniach systemów operacyjnych Unix. Najwcześniejsze wersje czasu Uniksa miały 32- bitową liczbę całkowitą wzrastającą przy 60 Hz, przy czym epoka jest liczona od zmiany czasu, aby zapobiec przepełnieniu. Obecna epoka (1 stycznia 1970) została wybrana przez inżynierów Unix, ponieważ była uważana za dogodną datę, a precyzja została później zmieniona na liczenie w sekundach, aby uniknąć krótkotrwałego przepełnienia.

Definicja techniczna

Technicznie, czas Unix jest zdefiniowany jako liczba sekund, które minęły od czasu Unix Epoch, minus skok sekund. Oznacza to, że każdy dzień w czasie Uniksa składa się z dokładnie 86,400 sekund, a sekundy skoku są obsługiwane w szczególny sposób, aby utrzymać tę spójność.

Zalety znaczników czasu Unix

Znaczniki czasu Unix oferują kilka korzyści dla systemów komputerowych:

  • Prostota:Pojedyncza wartość całkowita reprezentuje określony punkt w czasie
  • Wydajność:Znaczniki czasowe są kompaktowe i łatwe do przechowywania
  • Obliczenia:Różnice czasowe są łatwe do obliczenia poprzez proste odejmowanie
  • Uniwersalny:Niezależnie od lokalnych stref czasowych i kalendarzy
  • Sorowalność:Znaczniki czasowe można łatwo sortować chronologicznie
  • Interoperacyjność:Prace w różnych językach i systemach programowania

Formaty reprezentacji

Znaczniki czasu Unix mogą być reprezentowane w różnych formatach w zależności od kontekstu:

  • Sekundy:Klasyczny format 10- cyfrowy (np. 1623074400)
  • Milisekundy:13-cyfrowy format powszechnie stosowany w JavaScript (np. 1623074400000)
  • Mikrosekundy:16-cyfrowy format stosowany w niektórych systemach wysokiej precyzji
  • Nanosekundy:19-cyfrowy format dla jeszcze większej precyzji

Rok 2038 Problem

A significant limitation of Unix timestamps when stored as 32-bit signed integers is the "Year 2038 Problem." On January 19, 2038, at 03:14:07 UTC, 32-bit systems will reach their maximum representable time (2,147,483,647 seconds since the epoch). After this point, the timestamp will overflow and wrap around to negative numbers, representing dates back in 1901 instead of moving forward.

Aby rozwiązać ten problem, wiele nowoczesnych systemów przeszło do stosowania 64- bitowych liczb całkowitych dla znaczników czasu Unix, co rozszerza zasięg czasu representable do około 292 miliardów lat w obu kierunkach, skutecznie rozwiązując problem.

Globalne wykorzystanie

Znaczniki czasu Unix są teraz używane znacznie poza tylko Unix- jak systemy operacyjne. Są znalezione w:

  • Aplikacje internetowe i API
  • Systemy baz danych
  • Systemy plików i formaty plików
  • Pliki dziennika i ścieżki audytu
  • Standardowe biblioteki języków programowania
  • Protokoły sieci
  • Aplikacje mobilne

Zrozumienie znaczników czasu Unix jest niezbędne dla deweloperów, administratorów systemu i każdego, kto pracuje z danymi opartymi na czasie w systemach komputerowych. Jak kontynuować przez ten przewodnik, dowiesz się więcej o konkretnych zastosowań i technik konwersji do pracy z znacznikami czasu Unix skutecznie.

Przewodnik

Co to jest znacznik czasu?

Znacznik czasu Unix (znany również jako czas POSIX lub czas Epoch) jest systemem opisującym punkt w czasie. Jest to liczba sekund, które minęły od czasu Unix Epoch, minus sekund skoku.

Główne cechy:

  • Zaczyna się 1 stycznia 1970, 00: 00: 00 UTC
  • Liczy sekundy (nie milisekundy lub mikrosekundy)
  • Nie uwzględnia sekund skoku
  • Zawsze w strefie czasowej UTC
  • Powszechnie stosowane w systemach operacyjnych typu Unix- like
Przewodnik

Jak przekonwertować znaczniki czasu Unix

Do konwersji między znacznikami czasu Unix a datami do odczytania przez człowieka:

  1. 1
    Do chwili obecnej znacznik czasu: Wpisz znacznik czasu Unix (sekundy od epoki)
  2. 2
    Data i godzina: Wprowadź datę i godzinę w formacie RRRR- MM- DD HH: MM: SS
  3. 3
    Click "Convert" to see the result

Przykład: 1677649200 = 2023-03-01 12: 00: 00 UTC

Przewodnik

Wspólne zastosowania znaczników czasu Uniksa

Znaczniki czasu Unix są szeroko stosowane w różnych zastosowaniach:

  • Znaczniki czasu bazy danych i daty tworzenia rekordów
  • Znaczniki czasu systemu plików (tworzenie, modyfikacja, czasy dostępu)
  • Zaloguj pliki i zdarzenia systemowe
  • Odpowiedzi API i wymiana danych
  • Systemy kontroli wersji
  • Czas ważności bufora
  • Zarządzanie sesjami i uwierzytelnianie
Przewodnik

Przykłady programowania

Oto kilka wspólnych przykładów programowania do pracy z znacznikami czasu Unix:

Python

import time
import datetime

# Current timestamp
current_timestamp = int(time.time())

# Convert timestamp to datetime
dt = datetime.datetime.fromtimestamp(current_timestamp)

# Convert datetime to timestamp
timestamp = int(dt.timestamp())

JavaScript

// Current timestamp
const currentTimestamp = Math.floor(Date.now() / 1000);

// Convert timestamp to Date
const date = new Date(currentTimestamp * 1000);

// Convert Date to timestamp
const timestamp = Math.floor(date.getTime() / 1000);
Przewodnik

Rozważania dotyczące strefy czasowej

Ważne punkty dotyczące stref czasowych i znaczników czasu Unix:

  • Znaczniki czasu Unix są zawsze w UTC
  • Przy konwersji na czas lokalny, należy wziąć pod uwagę przesunięcie strefy czasowej
  • Daylight Saving Time (Czas letni) może mieć wpływ na czas miejscowy
  • Zawsze przechowywać znaczniki czasu w UTC w bazach danych
  • Przelicz na czas lokalny tylko do celów wyświetlania

Najlepsze praktyki:

  • Przechowuj wszystkie znaczniki czasu w UTC
  • Użyj obiektów datetime, gdy to możliwe
  • Rozważ użycie formatu ISO 8601 dla ciągów daty
  • Ostrożnie obchodzić się z przejściami w czasie letnim