Tech Help

Unix Timestamp till datum: sekunder, millisekunder och UTC förklarat

Omvandla ett Unix timestamp till ett datum. Se sekunder mot millisekunder, UTC mot lokal tid, ISO 8601 och hur du går tillbaka från datum till epoch-tid.

Kort svar

Ett Unix timestamp representerar tid relativt till Unix epoch: 1970-01-01 00:00:00 UTC. Det lagras vanligen som sekunder sedan epoch eller som millisekunder sedan epoch.

För att omvandla rätt måste du först veta enheten. 1720000000 sekunder är 2024-07-03 09:46:40 UTC. 1720000000000 millisekunder är samma ögonblick.

Timestampet pekar ut ett ögonblick. UTC, lokal tid eller en IANA-zon ändrar bara hur det ögonblicket visas.

Det här är en omvandlingsguide: timestamp till datum, datum till timestamp, UTC mot lokal tid och ISO 8601. Blir ett värde oväntat ett 1970-datum är det oftast sekunder/millisekunder som inte stämmer—se Unix Timestamp i sekunder vs millisekunder: varför datumet visar 1970.

Vad är ett Unix Timestamp?

Unix timestamp, Unix time och epoch time betyder vanligen förfluten tid sedan 1970-01-01 00:00:00 UTC. Talet är inte en formaterad datumsträng med tidszonsetikett. Samma ögonblick kan visas med olika klockslag i UTC, New York, Tokyo eller Seoul. Unix timestamps är inte alltid sekunder—millisekunder är vanliga i praktiken.

Vad är Unix Epoch?

Unix epoch är 1970-01-01 00:00:00 UTC. Timestamp 0 är det ögonblicket. Ett positivt timestamp ligger efter epoch. Vissa system tillåter ett negativt timestamp för tid före epoch, men språkstöd och datumintervall varierar.

Är mitt timestamp i sekunder eller millisekunder?

1720000000 är sekunder; 1720000000000 är millisekunder; de är samma ögonblick. En praktisk ledtråd: ungefär 10 siffror betyder ofta sekunder, ungefär 13 ofta millisekunder. Sifferantalet är bara en tumregel. Äldre eller framtida datum, andra enheter eller en egen epoch kan se annorlunda ut. Datum- och tidskonverterare kan omvandla med sekunder, millisekunder eller auto (≤10 siffror som sekunder, ≥13 som millisekunder)—välj enheten när du känner den.

Varför ger fel enhet fel datum?

JavaScript Date förväntar millisekunder. Skickar du 1720000000 som om det vore millisekunder blir resultatet 1970-01-20 21:46:40 UTC. Att behandla millisekunder som sekunder, eller tvärtom, landar på ett helt annat datum. För felsökningen kring 1970, se Unix Timestamp i sekunder vs millisekunder: varför datumet visar 1970.

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

Så omvandlar du ett Unix timestamp i sekunder

Multiplicera sekunder med 1000 för att få millisekunder. JavaScript Date är millisekundbaserat, så använd new Date(timestamp * 1000).

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

Så omvandlar du ett millisekund-timestamp

Skicka millisekunderna rakt till Date. Multiplicera inte ett millisekund-timestamp med 1000 en gång till.

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

Varför visar samma timestamp olika klockslag?

Ett Unix timestamp är ett enda ögonblick. Visning i UTC, lokal tid eller en vald IANA-zon ändrar klockslaget. För 1720000000000 är UTC 2024-07-03 09:46:40. America/New_York den dagen är 2024-07-03 05:46:40 (EDT). Asia/Seoul är 2024-07-03 18:46:40 (UTC+9). New York- och Seoul-värdena kommer från Intl, inte från en slogan om fast offset.

Innehåller ett Unix timestamp en tidszon?

Nej. Det lagrar varken America/New_York eller Asia/Seoul. Timestampet identifierar ett ögonblick. En tidszon läggs på när du formaterar ögonblicket som läsbart datum och tid. Epoch definieras relativt UTC; talet självt är inte ”ett UTC-tidszonsfält”.

Unix Timestamp mot ISO 8601

1720000000 och 2024-07-03T09:46:40Z kan representera samma ögonblick. Unix är ett numeriskt värde för förfluten tid. ISO 8601 är en läsbar datum-tid-sträng och kan sluta med Z (UTC) eller en numerisk offset. Z betyder UTC; det kallas ibland Zulu. Det är inte samma format.

Hur får man aktuellt Unix timestamp?

I JavaScript är Date.now() millisekunder. Math.floor(Date.now() / 1000) är sekunder. Hårdkoda inte ”nu” i en artikel; det flyttar sig.

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

Kan man omvandla ett datum tillbaka till Unix timestamp?

Ja. Från en explicit UTC ISO-sträng ger getTime() millisekunder; dividera med 1000 och avrunda nedåt för sekunder.

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

Var försiktig med tvetydiga datumformat

03/07/2024 kan betyda 7 mars eller 3 juli beroende på region. Föredra datum och tid i ISO-stil med tidszon eller offset. Datum- och tidskonverterare avvisar tvetydiga numeriska datum som 01/02/2026 och ber om en datumväljare eller ett värde i ISO-stil.

Hur är det med sommartid?

Ett Unix timestamp lagrar ingen sommartidsflagga. Lokal visning tillämpar zonens regler. America/New_York använder olika offset på vintern och sommaren, så ”New York är UTC-5” stämmer inte alltid.

Räknar Unix timestamps med skottsekunder?

Typisk POSIX/Unix-tid räknar inte skottsekunder som extra SI-sekunder på en kontinuerlig skala. Plattformar kan skilja sig. Vid vardaglig omvandling kan du ignorera detaljen.

Vanliga misstag vid omvandling av Unix timestamp

De här förväxlingarna ger fel datum eller fel klockslag:

Sekunder behandlade som millisekunder
Ett modernt sekundvärde landar då nära 1970 i JavaScript Date.

Millisekunder behandlade som sekunder
Datumet hoppar långt in i framtiden.

Att behandla 10 eller 13 siffror som lag
Sifferantalet är en ledtråd, inte en garanti.

Att blanda ihop UTC med lokal tid
Ögonblicket är detsamma; den visade klockan kan skilja.

Att anta att tidszonen sitter i talet
IANA-namn läggs på vid visning, de lagras inte i timestampet.

Tvetydiga datum, sommartidsslogans eller extra ×1000
Använd indata i ISO-stil. Multiplicera inte ett millisekund-timestamp igen.

Verifierade UTC-exempel

De här UTC-klockslagen räknades fram, de gissades inte:

Indata Enhet UTC
0 sekunder 1970-01-01 00:00:00
1720000000 sekunder 2024-07-03 09:46:40
1720000000000 millisekunder 2024-07-03 09:46:40
1720000000 millisekunder 1970-01-20 21:46:40

En enkel beslutsguide för omvandling

Namnger källan enheten, använd den. Annars är sifferantalet en ledtråd—kontrollera sedan att datumet ser rimligt ut. Omvandla sekunder till millisekunder när API:et behöver ms. Välj UTC, lokal tid eller en IANA-zon för visning. ISO 8601 är praktiskt för lagring och utbyte.

  • Du har ett Unix timestamp
  • Enhet angiven? Använd den; annars kolla storleksordningen
  • Sekunder? ×1000 om API:et behöver millisekunder
  • Millisekunder? Använd direkt i ett ms-baserat API
  • Visa som UTC, lokal tid eller en IANA-zon
  • Behöver du en sträng? ISO 8601 kan passa
Talet är ett ögonblick. Formateringen väljer klockslaget.
Ett timestamp är ett ögonblick, inte ett visningsformat

Timestampet identifierar en punkt i tiden. UTC, lokal tid eller en tidszon avgör bara hur det ögonblicket visas för en person.

Omvandla Unix timestamps i webbläsaren

NEXNARA Datum- och tidskonverterare omvandlar Unix-sekunder och millisekunder, visar UTC, lokal tid och ISO 8601, och konverterar mellan IANA-tidszoner.

Unix-läget stöder sekunder, millisekunder, autoenhet, aktuell tid och datum-till-timestamp. Tidszonsläget söker IANA-namn, använder webbläsarens zon och tillämpar sommartidsmedvetna Intl-offset. Formatläget har regionsläsbar utdata, 12/24-timmarsvisning och ett skydd mot tvetydiga datum. Datumskillnad är ett separat läge.

Omvandlingen använder webbläsarens Date- och Intl-API:er. Värden utanför vad Date kan representera avvisas. Autoenhet gissar inte 11–12-siffriga värden; välj sekunder eller millisekunder.

Själva datum- och timestamp-omvandlingen sker i din webbläsare. Indata skickas inte till en NEXNARA-server för omvandling. Annonser och andra sajtfunktioner använder ändå nätet.

Klistra in ett timestamp i Datum- och tidskonverterare och jämför UTC, lokal tid och ISO 8601 innan du väljer enhet.

FAQ

Hur omvandlar jag ett Unix timestamp till ett datum?

Känn enheten. För sekunder i JavaScript, använd new Date(n * 1000). För millisekunder, new Date(n). Formatera sedan som UTC, lokal tid eller en zon.

Är Unix timestamp i sekunder eller millisekunder?

Vilket som. Ungefär 10 siffror betyder ofta sekunder och ungefär 13 millisekunder, men det är en tumregel, inte en lag.

Varför visar mitt timestamp 1970?

Oftast har ett sekundvärde lästs som millisekunder. Se Unix Timestamp i sekunder vs millisekunder: varför datumet visar 1970.

Är Unix timestamp alltid UTC?

Epoch definieras relativt UTC, och talet identifierar ett ögonblick. Visningstidszonen är separat. Det är inte ett lagrat ”UTC-tidszonsfält”.

Innehåller ett Unix timestamp en tidszon?

Nej. Det bär inget IANA-id. Tidszonen läggs på när du formaterar ögonblicket.

Hur omvandlar jag ett datum till Unix timestamp?

Från en UTC ISO-sträng är date.getTime() millisekunder; Math.floor(date.getTime() / 1000) är sekunder.