Epoch laika konvertētājs
Konvertējiet Unix laika zīmogus par UTC datumiem vai pārvērtiet datumu epoch sekundēs.
Kā lietot šo epoch laika pārveidotāju
- Izvēlieties konvertēšanas režīmu
Laukā Konvertēšanas režīms izvēlieties Epoch uz datumu vai Datums uz epoch.
- Konvertēšanai no epoch uz datumu
Ievadiet Unix laika zīmogu sekundēs laukā Epoch laika zīmogs (sekundes).
- Konvertēšanai no datuma uz epoch
Izvēlieties datumu kalendārā, pēc tam iestatiet Hour (UTC), Minute (UTC) un Second (UTC) pēc nepieciešamības.
- Skatīt rezultātu
Kalkulators parāda UTC vērtību, Unix milisekundes un nedēļas dienu.
Kā darbojas šis epoch laika konvertētājs
Šis epoch laika konvertētājs tulko Unix laika zīmogus cilvēkam lasāmos UTC datumos un otrādi. Unix laiks — saukts arī par POSIX laiku vai epoch laiku — skaita sekundes, kas pagājušas kopš Unix epoch sākuma, kas definēts kā 1970. gada 1. janvāra pusnakts UTC (1970-01-01T00:00:00Z). Šis viena vesela skaitļa attēlojums ir de-facto standarts laika zīmogu glabāšanai un pārsūtīšanai datubāzēs, API, žurnālfailos, JWT žetonos un gandrīz visās mūsdienu programmēšanas valodās. Konvertētājs darbojas abos virzienos: ievadot skaitlisku laika zīmogu, tiek atgriezts atbilstošais UTC datums, nedēļas diena un milisekunžu ekvivalents, savukārt, ievadot kalendāro datumu un laiku, tiek atgriezta epoch vērtība sekundēs un milisekundēs.
Unix laiks = sekundes, kas pagājušas kopš 1970-01-01T00:00:00Z Lai konvertētu Unix laika zīmogu 1 700 000 000 par datumu: sākot no 1970-01-01 00:00:00 UTC, pieskaitiet 1 700 000 000 sekundes. Tas ir vienāds ar 19 675 dienām, 17 stundām, 46 minūtēm un 40 sekundēm. Iegūtais UTC datums ir 2023-11-14 plkst. 22:13:20 UTC, kas ir otrdiena. Milisekunžu ekvivalents ir 1 700 000 000 000. Un otrādi, ievadot 2023. gada 14. novembri plkst. 22:13:20 UTC, tiek iegūta laikmeta vērtība tieši 1 700 000 000.
Laika zīmogs 0 tiek konvertēts uz 1970-01-01 00:00:00 UTC (ceturtdiena). Milisekunžu ekvivalents ir 0.
Laika zīmogs 1 704 000 000 tiek konvertēts uz 2023-12-31 12:00:00 UTC (svētdiena). Ievadot šo datumu un laiku režīmā 'Datums uz Unix laiku', tiek atgriezts 1 704 000 000.
- ✓ Visi aprēķini tiek veikti UTC. Vietējā laika konvertēšanai pēc aprēķina jāpiemēro atbilstošā laika joslas nobīde.
- ✓ Papildsekundes netiek skaitītas. Līdzīgi kā POSIX, šis konvertētājs katru dienu uzskata par tieši 86 400 sekundēm, kas atbilst vairuma programmēšanas valodu un operētājsistēmu darbībai.
- ✓ Negatīvi laika zīmogi apzīmē datumus pirms laikmeta sākuma (1970. gada 1. janvāra). Piemēram, −86400 atbilst 1969. gada 31. decembrim.
- ✓ Milisekunžu laika zīmogi pirms ievadīšanas jādala ar 1000; konvertētājs kā ievadi pieņem sekundes un rezultātos parāda milisekunžu ekvivalentu.
- JavaScript Date.now() un Java System.currentTimeMillis() atgriež milisekundes, nevis sekundes — pirms vērtības ievadīšanas šeit izdaliet to ar 1 000 vai izmantojiet milisekunžu izvadi salīdzināšanai.
- 2038. gada problēma skar 32 bitu parakstīta vesela skaitļa laika zīmogus, kas pārpildīsies 2038. gada 19. janvārī plkst. 03:14:07 UTC. Lielākā daļa mūsdienu sistēmu ir pārgājušas uz 64 bitu laika zīmogiem.
- Atkļūdojot API atbildes vai žurnālfailus, pievērsiet uzmanību laika zīmogiem, kas šķiet nobīdīti par tieši 3 600 vai 7 200 sekundēm — tas parasti norāda, ka kaut kur procesā ir piemērota (vai izlaista) laika joslas nobīde.
- Laikmeta laiks (epoch time) vienmēr monotoni pieaug (neņemot vērā garo sekunžu korekcijas), kas padara to ideāli piemērotu notikumu kārtošanai, ilguma aprēķināšanai un unikālu uz laiku balstītu identifikatoru ģenerēšanai.
- IEEE Std 1003.1 (POSIX) — sekunžu definīcija kopš laikmeta sākuma
- Unix laikmeta izcelsme — The Unix Heritage Society un Bell Labs dokumentācija
- RFC 3339 — Datums un laiks internetā: laika zīmogi
Kas ir Unix laika zīmogi?
Unix laika zīmogs ir sekunžu skaits, kas pagājis kopš 1970. gada 1. janvāra pusnakts UTC — Unix laikmeta sākuma. Šis veselais skaitlis ir de-facto standarts laika attēlošanai datubāzēs, API, žurnālfailos un lielākajā daļā programmēšanas valodu. Tā kā tas nav atkarīgs no laika joslas un ir monotoni pieaugošs, tas vienkāršo kārtošanu, ilguma aprēķinus un uz laiku balstītus salīdzinājumus. JavaScript Date.now() un daudzi API atgriež milisekundes (1000 × sekundes), tāpēc pirms milisekunžu vērtības ievadīšanas šeit izdaliet to ar 1000. Negatīvi laika zīmogi apzīmē datumus pirms 1970. gada; piemēram, −86400 ir tieši viena diena pirms laikmeta sākuma.
Izstrādātāju lietošanas gadījumi Unix laikam
Izstrādātāji izmanto Unix laika zīmogus, saglabājot notikumu laikus datubāzēs, serializējot datumus JSON API, ģenerējot uz laiku balstītas kešatmiņas atslēgas un atkļūdojot žurnālierakstus. Datubāzu kolonnās laika zīmogi bieži tiek glabāti kā veseli skaitļi efektīvai indeksēšanai un diapazona vaicājumiem. API atbildes bieži atgriež sekundes vai milisekundes, lai izvairītos no laika joslu neskaidrības. Atkļūdošanas laikā, konvertējot neapstrādātu laika zīmogu no žurnāla vai JWT prasības uz cilvēkam lasāmu datumu, ātri atklājas, vai vērtība ir pareiza vai nobīdīta laika joslas faktora dēļ. Unix laiks tiek izmantots arī ātruma ierobežošanai, sesiju derīguma termiņiem un kārtojamu unikālu identifikatoru ģenerēšanai izkliedētās sistēmās.
Biežāk uzdotie jautājumi par laikmeta laika konvertētāju
Kas ir Unix laikmets?
Unix laikmets ir atskaites punkts, no kura mēra Unix laiku: 1970. gada 1. janvāra pusnakts UTC (1970-01-01T00:00:00Z). Laika zīmogs 0 atbilst tieši šim brīdim.
Kāpēc manam JavaScript laika zīmogam ir vairāk ciparu?
JavaScript funkcija Date.now() atgriež milisekundes kopš laikmeta sākuma (epoch), nevis sekundes. Daliet ar 1000, lai konvertētu uz šajā rīkā izmantoto sekunžu formātu, vai salīdziniet tieši ar milisekunžu izvadi.
Vai es varu ievadīt negatīvu laika zīmogu?
Jā. Negatīvas vērtības apzīmē datumus pirms laikmeta sākuma. Piemēram, −86400 atbilst 1969-12-31T00:00:00Z, tieši vienu dienu pirms laikmeta sākuma.
Vai šis rīks ņem vērā garās sekundes?
Nē, un tas atbilst POSIX standartam. POSIX laiks pieņem, ka katra diena ir tieši 86 400 sekundes gara. 27 garās sekundes, kas ieviestas kopš 1972. gada, netiek atsevišķi attēlotas, kas nozīmē, ka UTC un Unix laiks var atšķirties līdz pat vienai sekundei garo sekunžu robežās.
Kas ir 2038. gada problēma?
Sistēmas, kas glabā Unix laiku kā 32 bitu zīmīgu veselu skaitli, pārpildīsies 2038. gada 19. janvārī plkst. 03:14:07 UTC, pārvēršoties par lielu negatīvu skaitli un uzrādot datumus 1901. gadā. Lielākā daļa mūsdienu platformu tagad izmanto 64 bitu laika zīmogus, kas nepārpildīsies vairāk nekā 290 miljardus gadu.