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.
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
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.