Tech Help

Unix Timestamp par datumu: sekundes, milisekundes un UTC izskaidrots

Konvertējiet Unix timestamp par datumu. Skatiet sekundes pret milisekundēm, UTC pret vietējo laiku, ISO 8601 un kā datumu pārvērst atpakaļ epoch laikā.

Īsa atbilde

Unix timestamp apzīmē laiku attiecībā pret Unix epoch: 1970-01-01 00:00:00 UTC. Parasti to glabā kā sekundes kopš epoch vai kā milisekundes kopš epoch.

Lai konvertētu pareizi, vispirms jāzina mērvienība. 1720000000 sekundes ir 2024-07-03 09:46:40 UTC. 1720000000000 milisekundes ir tas pats mirklis.

Timestamp identificē mirklī. UTC, vietējais laiks vai IANA zona maina tikai to, kā šis mirklis tiek rādīts.

Šis ir konvertēšanas ceļvedis: timestamp par datumu, datums par timestamp, UTC pret vietējo un ISO 8601. Ja vērtība negaidīti kļūst par 1970. gada datumu, parasti nesakrīt sekundes un milisekundes—skatiet Unix Timestamp sekundēs pret milisekundēm: kāpēc datums rāda 1970.

Kas ir Unix Timestamp?

Unix timestamp, Unix time un epoch time parasti nozīmē pagājušo laiku kopš 1970-01-01 00:00:00 UTC. Skaitlis nav formatēta datuma virkne ar laika joslas etiķeti. Viens un tas pats mirklis var rādīt atšķirīgus pulksteņa laikus UTC, Ņujorkā, Tokijā vai Seulā. Unix timestamp ne vienmēr ir sekundes—praksē milisekundes ir biežas.

Kas ir Unix Epoch?

Unix epoch ir 1970-01-01 00:00:00 UTC. Timestamp 0 ir šis mirklis. Pozitīvs timestamp ir pēc epoch. Dažas sistēmas pieļauj negatīvu timestamp laikam pirms epoch, taču valodu un datumu diapazonu atbalsts atšķiras.

Vai mans timestamp ir sekundēs vai milisekundēs?

1720000000 ir sekundes; 1720000000000 ir milisekundes; tas ir viens mirklis. Praktiska norāde: aptuveni 10 cipari bieži nozīmē sekundes, aptuveni 13 bieži milisekundes. Ciparu skaits ir tikai euristika. Pagātnes vai nākotnes datumi, citas mērvienības vai pielāgots epoch var izskatīties citādi. Datuma un laika pārveidotājs var konvertēt ar sekundēm, milisekundēm vai auto (≤10 cipari kā sekundes, ≥13 kā milisekundes)—izvēlieties mērvienību, kad to zināt.

Kāpēc nepareiza mērvienība dod nepareizu datumu?

JavaScript Date sagaida milisekundes. Ja 1720000000 padodat kā milisekundes, iegūstat 1970-01-20 21:46:40 UTC. Milisekundes kā sekundes vai otrādi noved pie pavisam cita datuma. 1970. gada diagnostikas ceļam skatiet Unix Timestamp sekundēs pret milisekundēm: kāpēc datums rāda 1970.

new Date(1720000000);
// 1970-01-20T21:46:40.000Z

Kā konvertēt Unix timestamp sekundēs

Reiziniet sekundes ar 1000, lai iegūtu milisekundes. JavaScript Date ir milisekunžu bāzēts, tāpēc lietojiet new Date(timestamp * 1000).

const timestamp = 1720000000;
const date = new Date(timestamp * 1000);
date.toISOString();
// 2024-07-03T09:46:40.000Z

Kā konvertēt timestamp milisekundēs

Padodiet milisekundes Date tieši. Nereiziniet milisekunžu timestamp vēlreiz ar 1000.

const timestamp = 1720000000000;
const date = new Date(timestamp);
date.toISOString();
// 2024-07-03T09:46:40.000Z

Kāpēc tas pats timestamp rāda citu laiku?

Unix timestamp ir viens mirklis. Rādīšana UTC, vietējā laikā vai izvēlētā IANA zonā maina pulksteni. 1720000000000 UTC ir 2024-07-03 09:46:40. America/New_York tajā dienā ir 2024-07-03 05:46:40 (EDT). Asia/Seoul ir 2024-07-03 18:46:40 (UTC+9). Ņujorkas un Seulas vērtības nāk no Intl, ne no saukļa par fiksētu nobīdi.

Vai Unix timestamp satur laika joslu?

Nē. Tas neglabā nedz America/New_York, nedz Asia/Seoul. Timestamp identificē mirklī. Joslu piemēro, kad šo mirklī formatējat kā lasāmu datumu un laiku. Epoch ir definēts attiecībā pret UTC; pats skaitlis nav „UTC joslas lauks“.

Unix Timestamp pret ISO 8601

1720000000 un 2024-07-03T09:46:40Z var apzīmēt to pašu mirklī. Unix ir skaitliska pagājušā laika vērtība. ISO 8601 ir lasāma datuma-laika virkne un var beigties ar Z (UTC) vai skaitlisku nobīdi. Z nozīmē UTC; dažreiz to sauc Zulu. Tie nav viens formāts.

Kā iegūt pašreizējo Unix timestamp?

JavaScript Date.now() ir milisekundes. Math.floor(Date.now() / 1000) ir sekundes. Nekodējiet rakstā fiksētu „tagad“; tas pārvietojas.

Date.now();
Math.floor(Date.now() / 1000);

Vai datumu var konvertēt atpakaļ par Unix timestamp?

Jā. No skaidras UTC ISO virknes getTime() atgriež milisekundes; daliet ar 1000 un noapaļojiet uz leju sekundēm.

const date = new Date("2024-07-03T09:46:40Z");
date.getTime();
// 1720000000000
Math.floor(date.getTime() / 1000);
// 1720000000

Uzmanieties no neskaidriem datuma formātiem

03/07/2024 var nozīmēt 7. martu vai 3. jūliju atkarībā no locale. Dodiet priekšroku ISO stila datumam un laikam ar joslu vai nobīdi. Datuma un laika pārveidotājs noraida neskaidrus skaitliskus datumus, piemēram 01/02/2026, un prasa datuma izvēlni vai ISO stila vērtību.

Kā ar vasaras laiku?

Unix timestamp neglabā DST karogu. Vietējais attēlojums piemēro zonas noteikumus. America/New_York ziemā un vasarā lieto atšķirīgas nobīdes, tāpēc „Ņujorka ir UTC-5“ nav vienmēr patiess.

Vai Unix timestamp ietver garās sekundes?

Tipiskais POSIX/Unix laiks neskaita garās sekundes kā papildu SI sekundes nepārtrauktā skalā. Platformas var atšķirties. Ikdienas konvertēšanā šo niansi var ignorēt.

Biežas Unix timestamp konvertēšanas kļūdas

Šīs sajaukšanas dod nepareizu datumu vai nepareizu pulksteni:

Sekundes uzskatītas par milisekundēm
Mūsdienu sekunžu vērtība tad nokrīt tuvu 1970 JavaScript Date.

Milisekundes uzskatītas par sekundēm
Datums lec tālu nākotnē.

10 vai 13 cipari kā likums
Ciparu skaits ir norāde, ne garantija.

UTC sajaukšana ar vietējo laiku
Mirklis ir tas pats; rādītais pulkstenis var atšķirties.

Pieņēmums, ka josla ir skaitlī
IANA nosaukumus piemēro rādīšanas brīdī, tie nav saglabāti timestamp.

Neskaidri datumi, DST saukļi vai papildu ×1000
Izmantojiet ISO stila ievadi. Nereiziniet milisekunžu timestamp vēlreiz.

Pārbaudīti UTC piemēri

Šie UTC pulksteņa laiki ir aprēķināti, ne uzminēti:

Ievade Mērvienība UTC
0 sekundes 1970-01-01 00:00:00
1720000000 sekundes 2024-07-03 09:46:40
1720000000000 milisekundes 2024-07-03 09:46:40
1720000000 milisekundes 1970-01-20 21:46:40

Vienkāršs konvertēšanas lēmumu ceļvedis

Ja avots nosauc mērvienību, lietojiet to. Ja ne, ciparu skaits ir norāde—tad pārbaudiet, vai datums izskatās ticams. Konvertējiet sekundes par milisekundēm, kad API vajag ms. Rādīšanai izvēlieties UTC, vietējo vai IANA zonu. ISO 8601 noder glabāšanai un apmaiņai.

  • Jums ir Unix timestamp
  • Mērvienība norādīta? Lietojiet to; citādi pārbaudiet lielumu
  • Sekundes? ×1000, ja API vajag milisekundes
  • Milisekundes? Lietojiet tieši ms bāzētā API
  • Rādiet kā UTC, vietējo vai IANA zonu
  • Vajag virkni? ISO 8601 var derēt
Skaitlis ir mirklis. Formatēšana izvēlas pulksteni.
Timestamp ir mirklis, ne attēlošanas formāts

Timestamp identificē punktu laikā. UTC, vietējais laiks vai josla tikai izlemj, kā šis mirklis tiek parādīts cilvēkam.

Konvertējiet Unix timestamp pārlūkā

NEXNARA Datuma un laika pārveidotājs konvertē Unix sekundes un milisekundes, rāda UTC, vietējo laiku un ISO 8601 un konvertē starp IANA laika joslām.

Unix režīms atbalsta sekundes, milisekundes, auto mērvienību, pašreizējo laiku un datumu-par-timestamp. Joslas režīms meklē IANA nosaukumus, lieto pārlūka zonu un piemēro DST apzinātas Intl nobīdes. Formāta režīmam ir locale lasāma izvade, 12/24 stundu rādījums un aizsardzība pret neskaidru datumu. Datumu starpība ir atsevišķs režīms.

Konvertēšana lieto pārlūka Date un Intl API. Vērtības ārpus tā, ko Date var attēlot, tiek noraidītas. Auto mērvienība neuzmin 11–12 ciparu vērtības; izvēlieties sekundes vai milisekundes.

Pati datuma un timestamp konvertēšana notiek jūsu pārlūkā. Ievades netiek sūtītas uz NEXNARA serveri konvertēšanai. Reklāmas un citas vietnes funkcijas joprojām lieto tīklu.

Ielīmējiet timestamp Datuma un laika pārveidotājs un salīdziniet UTC, vietējo laiku un ISO 8601, pirms izvēlaties mērvienību.

FAQ

Kā konvertēt Unix timestamp par datumu?

Ziniet mērvienību. Sekundēm JavaScript lietojiet new Date(n * 1000). Milisekundēm — new Date(n). Tad formatējiet kā UTC, vietējo vai zonu.

Vai Unix timestamp ir sekundēs vai milisekundēs?

Var būt abējādi. Aptuveni 10 cipari bieži nozīmē sekundes, aptuveni 13 milisekundes, bet tā ir euristika, ne likums.

Kāpēc mans timestamp rāda 1970?

Parasti sekunžu vērtība nolasīta kā milisekundes. Skatiet Unix Timestamp sekundēs pret milisekundēm: kāpēc datums rāda 1970.

Vai Unix timestamp vienmēr ir UTC?

Epoch ir definēts attiecībā pret UTC, un skaitlis identificē mirklī. Attēlošanas josla ir atsevišķa. Tas nav saglabāts „UTC joslas lauks“.

Vai Unix timestamp satur laika joslu?

Nē. Tas nenes IANA identifikatoru. Joslu piemēro, kad formatējat mirklī.

Kā konvertēt datumu par Unix timestamp?

No UTC ISO virknes date.getTime() ir milisekundes; Math.floor(date.getTime() / 1000) ir sekundes.