Tech Help

Unix Timestamp në datë: sekonda, milisekonda dhe UTC të shpjeguara

Konvertoni një Unix timestamp në datë. Shihni sekonda kundrejt milisekondave, UTC kundrejt kohës lokale, ISO 8601 dhe si ta ktheni datën në kohë epoch.

Përgjigje e shkurtër

Një Unix timestamp paraqet kohën relativisht me Unix epoch: 1970-01-01 00:00:00 UTC. Zakonisht ruhet si sekonda që nga epoch, ose si milisekonda që nga epoch.

Për ta konvertuar saktë, së pari duhet të dini njësinë. 1720000000 sekonda janë 2024-07-03 09:46:40 UTC. 1720000000000 milisekonda janë e njëjta çast.

Timestamp identifikon një çast. UTC, koha lokale ose një zonë IANA ndryshojnë vetëm se si shfaqet ai çast.

Ky është udhëzues konvertimi: timestamp në datë, datë në timestamp, UTC kundrejt lokales, dhe ISO 8601. Nëse një vlerë papritur bëhet datë e 1970, zakonisht është mospërputhje sekondash/milisekondash—shihni Unix Timestamp në sekonda kundrejt milisekondave: pse data tregon 1970.

Çfarë është një Unix Timestamp?

Unix timestamp, Unix time dhe epoch time zakonisht nënkuptojnë kohën e kaluar që nga 1970-01-01 00:00:00 UTC. Numri nuk është varg i formatuar date me etiketë zone kohore. I njëjti çast mund të shfaqet me orë të ndryshme në UTC, New York, Tokio ose Seul. Unix timestamp nuk janë gjithmonë sekonda—milisekondat janë të zakonshme në praktikë.

Çfarë është Unix Epoch?

Unix epoch është 1970-01-01 00:00:00 UTC. Timestamp 0 është ai çast. Një timestamp pozitiv është pas epoch. Disa sisteme lejojnë timestamp negativ për kohë para epoch, por mbështetja e gjuhëve dhe intervaleve të datave ndryshon.

A është timestamp-i im në sekonda apo milisekonda?

1720000000 janë sekonda; 1720000000000 janë milisekonda; janë i njëjti çast. Një shenjë praktike: rreth 10 shifra shpesh do të thotë sekonda, rreth 13 shpesh milisekonda. Numri i shifrave është vetëm heuristikë. Data të kaluara ose të ardhshme, njësi të tjera ose një epoch i personalizuar mund të duken ndryshe. Shndërrues date dhe ore mund të konvertojë me sekonda, milisekonda ose auto (≤10 shifra si sekonda, ≥13 si milisekonda)—zgjidhni njësinë kur e dini.

Pse njësia e gabuar jep datën e gabuar?

JavaScript Date pret milisekonda. Nëse kaloni 1720000000 sikur të ishin milisekonda, merrni 1970-01-20 21:46:40 UTC. Trajtimi i milisekondave si sekonda, ose e kundërta, bie në një datë krejt tjetër. Për rrugën e diagnostikimit të 1970, shihni Unix Timestamp në sekonda kundrejt milisekondave: pse data tregon 1970.

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

Si të konvertoni një Unix timestamp në sekonda

Shumëzoni sekondat me 1000 për të marrë milisekonda. JavaScript Date bazohet në milisekonda, prandaj përdorni new Date(timestamp * 1000).

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

Si të konvertoni një timestamp milisekondash

Kalojini milisekondat drejtpërdrejt te Date. Mos e shumëzoni sërish një timestamp milisekondash me 1000.

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

Pse i njëjti timestamp tregon orë të ndryshme?

Një Unix timestamp është një çast i vetëm. Shfaqja në UTC, kohë lokale ose zonë IANA të zgjedhur ndryshon fushën e orës. Për 1720000000000, UTC është 2024-07-03 09:46:40. America/New_York atë ditë është 2024-07-03 05:46:40 (EDT). Asia/Seoul është 2024-07-03 18:46:40 (UTC+9). Vlerat e New York dhe Seul vijnë nga Intl, jo nga një slogan zhvendosjeje fikse.

A përmban një Unix timestamp zonë kohore?

Jo. Nuk ruan as America/New_York as Asia/Seoul. Timestamp identifikon një çast. Zona kohore zbatohet kur e formatoni atë çast si datë dhe orë të lexueshme. Epoch përcaktohet relativisht me UTC; vetë numri nuk është «fushë zone UTC».

Unix Timestamp kundrejt ISO 8601

1720000000 dhe 2024-07-03T09:46:40Z mund të paraqesin të njëjtin çast. Unix është vlerë numerike e kohës së kaluar. ISO 8601 është varg i lexueshëm date-ore dhe mund të mbarojë me Z (UTC) ose zhvendosje numerike. Z do të thotë UTC; ndonjëherë quhet Zulu. Nuk janë i njëjti format.

Si e merrni Unix timestamp-in aktual?

Në JavaScript, Date.now() janë milisekonda. Math.floor(Date.now() / 1000) janë sekonda. Mos e kodoni fort «tani» në një artikull; lëviz.

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

A mund ta ktheni një datë në Unix timestamp?

Po. Nga një varg i qartë UTC ISO, getTime() kthen milisekonda; pjesëtoni me 1000 dhe rrumbullakosni poshtë për sekonda.

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

Kujdes me formatet e dykuptimta të datës

03/07/2024 mund të thotë 7 mars ose 3 korrik sipas locale. Preferoni datë dhe orë në stil ISO me zonë ose zhvendosje. Shndërrues date dhe ore refuzon data numerike të dykuptimta si 01/02/2026 dhe kërkon zgjedhës date ose vlerë në stil ISO.

Po ora verore?

Një Unix timestamp nuk ruan flamur DST. Shfaqja lokale zbaton rregullat e zonës. America/New_York përdor zhvendosje të ndryshme dimër e verë, prandaj «New York është UTC-5» nuk është gjithmonë e vërtetë.

A i përfshijnë Unix timestamp sekondat e brishta?

Koha tipike POSIX/Unix nuk i numëron sekondat e brishta si sekonda SI shtesë në shkallë të vazhdueshme. Platformat mund të ndryshojnë. Për konvertim të përditshëm këtë hollësi mund ta injoroni.

Gabime të zakonshme në konvertimin e Unix timestamp

Këto ngatërresa japin datën e gabuar ose orën e gabuar:

Sekonda të trajtuara si milisekonda
Një vlerë moderne sekondash atëherë bie pranë 1970 te JavaScript Date.

Milisekonda të trajtuara si sekonda
Data kërcen larg në të ardhmen.

Trajtimi i 10 ose 13 shifrave si ligj
Numri i shifrave është shenjë, jo garanci.

Ngatërrimi i UTC me kohën lokale
Çasti është i njëjtë; ora e shfaqur mund të ndryshojë.

Supozimi se zona është brenda numrit
Emrat IANA zbatohen në kohën e shfaqjes, nuk ruhen në timestamp.

Data të dykuptimta, slogane DST ose ×1000 shtesë
Përdorni hyrje në stil ISO. Mos e shumëzoni sërish një timestamp milisekondash.

Shembuj UTC të verifikuar

Këto orë UTC u llogaritën, nuk u hamendësuan:

Hyrje Njësi UTC
0 sekonda 1970-01-01 00:00:00
1720000000 sekonda 2024-07-03 09:46:40
1720000000000 milisekonda 2024-07-03 09:46:40
1720000000 milisekonda 1970-01-20 21:46:40

Një udhëzues i thjeshtë vendimi për konvertimin

Nëse burimi e emërton njësinë, përdoreni. Nëse jo, numri i shifrave është shenjë—pastaj kontrolloni që data duket e besueshme. Konvertoni sekondat në milisekonda kur API kërkon ms. Zgjidhni UTC, lokale ose zonë IANA për shfaqje. ISO 8601 është i dobishëm për ruajtje dhe shkëmbim.

  • Keni një Unix timestamp
  • Njësia e specifikuar? Përdoreni; përndryshe kontrolloni madhësinë
  • Sekonda? ×1000 nëse API kërkon milisekonda
  • Milisekonda? Përdorni drejtpërdrejt në një API me bazë ms
  • Shfaqeni si UTC, lokale ose zonë IANA
  • Duhet varg? ISO 8601 mund të përshtatet
Numri është një çast. Formatimi zgjedh fushën e orës.
Një timestamp është çast, jo format shfaqjeje

Timestamp identifikon një pikë në kohë. UTC, koha lokale ose zona vendosin vetëm se si i tregohet ai çast një personi.

Konvertoni Unix timestamp në shfletues

NEXNARA Shndërrues date dhe ore konverton sekonda dhe milisekonda Unix, tregon UTC, kohë lokale dhe ISO 8601, dhe konverton ndërmjet zonave kohore IANA.

Mënyra Unix mbështet sekonda, milisekonda, njësi auto, kohën aktuale dhe datë-në-timestamp. Mënyra e zonës kërkon emra IANA, përdor zonën e shfletuesit dhe zbaton zhvendosje Intl të ndërgjegjshme për DST. Mënyra e formatit ka dalje të lexueshme sipas locale, shfaqje 12/24 orësh dhe mbrojtje nga data të dykuptimta. Diferenca e datave është mënyrë e veçantë.

Konvertimi përdor API-t Date dhe Intl të shfletuesit. Vlerat jashtë asaj që Date mund të paraqesë refuzohen. Njësia auto nuk hamendëson vlera me 11–12 shifra; zgjidhni sekonda ose milisekonda.

Vetë konvertimi i datës dhe timestamp ndodh në shfletuesin tuaj. Hyrjet nuk dërgohen te një server NEXNARA për konvertim. Reklamat dhe veçoritë e tjera të sitit ende përdorin rrjetin.

Ngjitni një timestamp në Shndërrues date dhe ore dhe krahasoni UTC, kohën lokale dhe ISO 8601 para se të zgjidhni njësinë.

FAQ

Si e konvertoj një Unix timestamp në datë?

Dijeni njësinë. Për sekonda në JavaScript, përdorni new Date(n * 1000). Për milisekonda, new Date(n). Pastaj formatoni si UTC, lokale ose zonë.

A është Unix timestamp në sekonda apo milisekonda?

Të dyja. Rreth 10 shifra shpesh do të thotë sekonda dhe rreth 13 milisekonda, por kjo është heuristikë, jo rregull.

Pse timestamp-i im tregon 1970?

Zakonisht një vlerë sekondash u lexua si milisekonda. Shihni Unix Timestamp në sekonda kundrejt milisekondave: pse data tregon 1970.

A është Unix timestamp gjithmonë UTC?

Epoch përcaktohet relativisht me UTC dhe numri identifikon një çast. Zona e shfaqjes është e veçantë. Nuk është «fushë zone UTC» e ruajtur.

A përmban një Unix timestamp zonë kohore?

Jo. Nuk mbart identifikues IANA. Zona zbatohet kur e formatoni çastin.

Si e konvertoj një datë në Unix timestamp?

Nga një varg UTC ISO, date.getTime() janë milisekonda; Math.floor(date.getTime() / 1000) janë sekonda.