Epoch- og tidsstemplingskonverter

Konverter tidsstempel til datoformat eller få tidsstempel for angitt dato.

Unix-epoke-tidsstempel
Dato og tid

Dato og tid

Programmeringsspråk for å få tidsstempelverdien:

Math.round(new Date() / 1000)
Dokument
import time;
time.time()
Dokument
(int) (System.currentTimeMillis() / 1000)
Dokument
import ( "time" )
int32(time.Now().Unix())
Dokument
double now_time = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count();
Dokument
NSDate().timeIntervalSince1970
Dokument
SELECT UNIX_TIMESTAMP(); #1567758868
SELECT FROM_UNIXTIME(1567758868); #2019-9-6 16:34:28
time()
Dokument
DateTimeOffset.Now.ToUnixTimeSeconds()
Dokument
Time.now.to_i
Dokument

Standard definisjon av dato- og tidsangivelse

RFC 822 | RFC 1036 | RFC 1123 | RFC 2822 | RFC 3339 | RFC 5322 | ISO 8601

Hva er epoch-tidsstempel?

UNIX-tid eller POSIX-tid er tidspunktet som brukes av UNIX eller UNIX-lignende systemer: det totale antallet sekunder fra 0:0:0:0 1. januar 1970 UTC til nåværende tidspunkt, uavhengig av skuddsekunder.

År 2038-problemet

De tidligste versjonene av Unix-tid var 32-biters heltall som økte ved 60 Hz. Første utgave av Unix-programmererens håndbok, utgitt 3. november 1971, definerte Unix-tid som "tiden siden 00:00:00, 1. januar 1971, målt i seksti-deler av et sekund", dvs. startende kl. 00:00:00, 1. januar 1971, og økende med 60 Hz. Dette betyr at lagring av Unix-tid som et 32-biters usignert heltall vil gå tom for nullstillinger etter 829 dager (ca. 2,5 år). På grunn av denne begrensningen ble Unix-tidens opprinnelse definert flere ganger til den begynte å bruke tidspunktet for 1. januar 1970 kl. 00:00:00 UTC, tidsbestemt på 1 Hz. Siden Unix og C bruker 32-biters signerte heltall for å representere tid, kan dette imøtekomme en tidsperiode på ca. 136 år, delt 50/50 mellom før og etter 1970. Det vil si frem til 19. januar 2038 når nullstillingen er brukt opp.

De fleste systemene som bruker UNIX i dag er 32-bits, dvs. de representerer tidstypen time_t som en 32-biters signert heltall. Så den kan representere sekunder i 136 år. Representerer Fre. 13. desember 1901 20:45:52 UTC til 19. januar 2038 3:14:07 UTC (binær: 01111111 11111111 11111111 11111111, 0x7FFF:FFFF), i neste sekund vil det binære tallet være 10000000 00000000 00000000 00000000 (0x8000:0000), dette er et negativt tall, så systemene vil tolke tiden som desember 13, 1901, 20:45:52 (og muligens tilbake til 1970). På dette tidspunktet kan det oppstå programvareproblemer som resulterer i systemstans.

Den nåværende løsningen er å konvertere systemet fra et 32-bits til et 64-bits system. Under et 64-bits system kan denne tiden representeres opp til 292,2777702659 billioner 15:30:08 den 4. desember.

Filstørrelsen overstiger grensen.

Du kan ikke laste opp flere filer.

Oppgrader kontoen din for å låse opp mer

Månedlig faktura
Årlig faktura
-40%

Premium

US$ / Måned
Engangsbetaling på US$36

Ubegrenset

US$ / Måned
Engangsbetaling på US$72
Mer