Tech Help

Unix Timestamp kuupäevaks: sekundid, millisekundid ja UTC selgitatud

Teisendage Unix timestamp kuupäevaks. Vaadake sekundeid versus millisekundeid, UTC versus kohalikku aega, ISO 8601 ja kuidas kuupäev tagasi epoch-ajaks viia.

Lühike vastus

Unix timestamp tähistab aega Unix epoch suhtes: 1970-01-01 00:00:00 UTC. Tavaliselt hoitakse seda sekunditena epochist või millisekunditena epochist.

Õigeks teisenduseks peate esmalt teadma ühikut. 1720000000 sekundit on 2024-07-03 09:46:40 UTC. 1720000000000 millisekundit on sama hetk.

Timestamp määrab hetke. UTC, kohalik aeg või IANA tsoon muudavad vaid seda, kuidas seda hetke näidatakse.

See on teisendusjuhend: timestamp kuupäevaks, kuupäev timestampiks, UTC versus kohalik, ja ISO 8601. Kui väärtus muutub ootamatult 1970. aasta kuupäevaks, on tegu tavaliselt sekundite ja millisekundite segiajamisega—vt Unix Timestamp sekundites vs millisekundites: miks kuupäev näitab 1970.

Mis on Unix Timestamp?

Unix timestamp, Unix time ja epoch time tähendavad tavaliselt kulunud aega alates 1970-01-01 00:00:00 UTC. Arv ei ole vormindatud kuupäevastring ajavööndi sildiga. Sama hetk võib UTC-s, New Yorgis, Tokyos või Soulis näidata erinevat kellaaega. Unix timestampid ei ole alati sekundid—praktikas on millisekundid tavalised.

Mis on Unix Epoch?

Unix epoch on 1970-01-01 00:00:00 UTC. Timestamp 0 on see hetk. Positiivne timestamp on pärast epochit. Mõned süsteemid lubavad negatiivset timestampi ajale enne epochit, kuid keelte ja kuupäevavahemike tugi erineb.

Kas mu timestamp on sekundites või millisekundites?

1720000000 on sekundid; 1720000000000 on millisekundid; see on sama hetk. Praktiline vihje: umbes 10 numbrit tähendab sageli sekundeid, umbes 13 sageli millisekundeid. Numbrite arv on vaid heuristika. Möödunud või tulevased kuupäevad, teised ühikud või kohandatud epoch võivad välja näha teistmoodi. Kuupäeva ja kellaaja teisendaja oskab teisendada sekundite, millisekundite või auto abil (≤10 numbrit sekunditena, ≥13 millisekunditena)—valige ühik, kui teate seda.

Miks vale ühik annab vale kuupäeva?

JavaScript Date ootab millisekundeid. Kui annate 1720000000 millisekunditena, saate 1970-01-20 21:46:40 UTC. Millisekundite käsitlemine sekunditena või vastupidi maandub hoopis teisele kuupäevale. 1970. aasta tõrkeotsingu teele vt Unix Timestamp sekundites vs millisekundites: miks kuupäev näitab 1970.

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

Kuidas teisendada Unix timestamp sekundites

Korrutage sekundid 1000-ga, et saada millisekundid. JavaScript Date on millisekundipõhine, seega kasutage new Date(timestamp * 1000).

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

Kuidas teisendada millisekundilist timestampi

Andke millisekundid Date’ile otse. Ärge korrutage millisekundilist timestampi uuesti 1000-ga.

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

Miks sama timestamp näitab teist kellaaega?

Unix timestamp on üks hetk. Kuvamine UTC-s, kohalikus ajas või valitud IANA tsoonis muudab kella. 1720000000000 puhul on UTC 2024-07-03 09:46:40. America/New_York tol päeval on 2024-07-03 05:46:40 (EDT). Asia/Seoul on 2024-07-03 18:46:40 (UTC+9). New Yorgi ja Souli väärtused tulevad Intl-ist, mitte kindla nihke loosungist.

Kas Unix timestamp sisaldab ajavööndit?

Ei. See ei salvesta America/New_York ega Asia/Seoul. Timestamp määrab hetke. Ajavööndit rakendatakse, kui vormindate selle hetke loetavaks kuupäevaks ja kellaajaks. Epoch on määratletud UTC suhtes; arv ise ei ole „UTC ajavööndi väli“.

Unix Timestamp versus ISO 8601

1720000000 ja 2024-07-03T09:46:40Z võivad tähistada sama hetke. Unix on arvuliselt kulunud aeg. ISO 8601 on loetav kuupäeva-kellaaja string ja võib lõppeda Z-iga (UTC) või arvulise nihkega. Z tähendab UTC-d; seda nimetatakse vahel Zulu. Need ei ole sama vorming.

Kuidas saada praegune Unix timestamp?

JavaScriptis on Date.now() millisekundid. Math.floor(Date.now() / 1000) on sekundid. Ärge kodeerige artiklisse kindlat „praegu“; see liigub.

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

Kas kuupäeva saab tagasi Unix timestampiks teisendada?

Jah. Selges UTC ISO stringist tagastab getTime() millisekundid; jagage 1000-ga ja ümardage alla sekunditeks.

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

Olge ettevaatlikud mitmeti mõistetavate kuupäevavormingutega

03/07/2024 võib tähendada 7. märtsi või 3. juulit, sõltuvalt locale’ist. Eelistage ISO-stiilis kuupäeva ja kellaaega koos vööndi või nihkega. Kuupäeva ja kellaaja teisendaja lükkab tagasi mitmeti mõistetavad arvulised kuupäevad nagu 01/02/2026 ja palub kuupäevavalijat või ISO-stiilis väärtust.

Aga suveaeg?

Unix timestamp ei salvesta suveaja lippu. Kohalik kuva rakendab tsooni reegleid. America/New_York kasutab talvel ja suvel erinevaid nihkeid, seega „New York on UTC-5“ ei ole alati tõsi.

Kas Unix timestampid sisaldavad liigsekundeid?

Tüüpiline POSIX/Unix aeg ei loe liigsekundeid täiendavate SI sekunditena pideval skaalal. Platvormid võivad erineda. Igapäevasel teisendusel võite selle üksikasja jätta tähelepanuta.

Levinud Unix timestampi teisendusvead

Need segadused annavad vale kuupäeva või vale kella:

Sekundid millisekunditena
Kaasaegne sekundiväärtus maandub siis 1970 lähedale JavaScript Date’is.

Millisekundid sekunditena
Kuupäev hüppab kaugele tulevikku.

10 või 13 numbrit seadusena
Numbrite arv on vihje, mitte garantii.

UTC ja kohaliku aja segi ajamine
Hetk on sama; kuvatud kell võib erineda.

Eeldus, et vöönd on arvus
IANA nimesid rakendatakse kuvamisel, neid ei salvestata timestampis.

Mitmeti mõistetavad kuupäevad, suveaja loosungid või lisaks ×1000
Kasutage ISO-stiilis sisendit. Ärge korrutage millisekundilist timestampi uuesti.

Kontrollitud UTC näited

Need UTC kellaajad on arvutatud, mitte aimatud:

Sisend Ühik UTC
0 sekundid 1970-01-01 00:00:00
1720000000 sekundid 2024-07-03 09:46:40
1720000000000 millisekundid 2024-07-03 09:46:40
1720000000 millisekundid 1970-01-20 21:46:40

Lihtne teisendusotsuse juhend

Kui allikas nimetab ühiku, kasutage seda. Kui ei, on numbrite arv vihje—siis kontrollige, kas kuupäev näib usutav. Teisendage sekundid millisekunditeks, kui API vajab ms. Kuvamiseks valige UTC, kohalik või IANA tsoon. ISO 8601 on kasulik salvestuseks ja vahetuseks.

  • Teil on Unix timestamp
  • Ühik määratud? Kasutage seda; muidu kontrollige suurust
  • Sekundid? ×1000, kui API vajab millisekundeid
  • Millisekundid? Kasutage otse ms-põhises API-s
  • Kuvage UTC, kohaliku või IANA tsoonina
  • Vaja stringi? ISO 8601 võib sobida
Arv on hetk. Vormindus valib kella.
Timestamp on hetk, mitte kuvavorming

Timestamp määrab punkti ajas. UTC, kohalik aeg või ajavöönd otsustavad vaid, kuidas seda hetke inimesele näidatakse.

Teisendage Unix timestamp brauseris

NEXNARA Kuupäeva ja kellaaja teisendaja teisendab Unix sekundeid ja millisekundeid, näitab UTC, kohalikku aega ja ISO 8601 ning teisendab IANA ajavööndite vahel.

Unix-režiim toetab sekundeid, millisekundeid, auto ühikut, praegust aega ja kuupäev-timestampiks. Ajavööndi režiim otsib IANA nimesid, kasutab brauseri tsooni ja rakendab DST-teadlikke Intl nihkeid. Vormingu režiimil on locale’ile loetav väljund, 12/24-tunnine kuva ja mitmeti mõistetava kuupäeva kaitse. Kuupäevade vahe on eraldi režiim.

Teisendus kasutab brauseri Date ja Intl API-sid. Väärtused väljaspool seda, mida Date suudab esitada, lükatakse tagasi. Auto ühik ei arva 11–12-numbrilisi väärtusi; valige sekundid või millisekundid.

Kuupäeva ja timestampi teisendus ise toimub teie brauseris. Sisendeid ei saadeta teisenduseks NEXNARA serverisse. Reklaamid ja muud saidi funktsioonid kasutavad siiski võrku.

Kleepige timestamp Kuupäeva ja kellaaja teisendaja ja võrrelge UTC, kohalikku aega ja ISO 8601 enne ühiku valimist.

FAQ

Kuidas teisendada Unix timestamp kuupäevaks?

Teadke ühikut. Sekundite jaoks JavaScriptis kasutage new Date(n * 1000). Millisekundite jaoks new Date(n). Seejärel vormindage UTC, kohaliku või tsoonina.

Kas Unix timestamp on sekundites või millisekundites?

Mõlemad. Umbes 10 numbrit tähendab sageli sekundeid ja umbes 13 millisekundeid, kuid see on heuristika, mitte reegel.

Miks mu timestamp näitab 1970?

Tavaliselt loeti sekundiväärtus millisekunditena. Vt Unix Timestamp sekundites vs millisekundites: miks kuupäev näitab 1970.

Kas Unix timestamp on alati UTC?

Epoch on määratletud UTC suhtes ja arv määrab hetke. Kuvatav ajavöönd on eraldi. See ei ole salvestatud „UTC ajavööndi väli“.

Kas Unix timestamp sisaldab ajavööndit?

Ei. See ei kanna IANA identifikaatorit. Vööndit rakendatakse, kui vormindate hetke.

Kuidas teisendada kuupäev Unix timestampiks?

UTC ISO stringist on date.getTime() millisekundid; Math.floor(date.getTime() / 1000) on sekundid.