Probeer 1504865618099.00 Unix-tijd om te zetten in een leesbare datum-tijd.
Ik heb dit geprobeerd:
=(UNIX + ("1/1/1970"-"1/1/1900"+1)*86400) / 86400
Maar het werkt niet.
Antwoord 1, autoriteit 100%
-
Om het tijdperk (Unix-Time) om te zetten in normale tijd zoals voor de onderstaande tijdstempel
Bijvoorbeeld:
1517577336206
-
Converteer eerst de waarde met de volgende functie zoals hieronder
=LEFT(A1,10) & "." & RIGHT(A1,3)
-
De uitvoer is zoals hieronder
Bijvoorbeeld:
1517577336.206
-
Voeg nu de formule toe zoals hieronder
=(((B1/60)/60)/24)+DATE(1970,1,1)
-
Maak nu de cel op zoals hieronder of vereist formaat (aangepast formaat)
m/d/yyyy h:mm:ss.000
Nu komt de tijd als voorbeeld
2/2/2018 13:15:36.206
De drie nullen zijn voor milliseconden
Antwoord 2, autoriteit 48%
=A1/(24*60*60) + DATE(1970;1;1)
zou moeten werken met seconden.
=(A1/86400/1000)+25569
als uw tijd in milliseconden is, dus delen door 1000 geeft u de juiste datum
Vergeet niet het type in te stellen op Date
in uw uitvoercel. Ik heb het geprobeerd met deze datum: 1504865618099
wat gelijk is aan 8-09-17 10:13
.
Antwoord 3, autoriteit 28%
TLDR
=(A1/86400)+25569
…en het formaat van de celmoet datum zijn.
Als het niet voor u werkt
- Als u een getal krijgt, bent u vergeten de uitvoercel op te maken als een datum.
- Als je
#####
krijgt, heb je waarschijnlijk geen echte Unix-tijd. Kijk jouw … Na
tijdstempels in https://www.epochconverter.com/. Probeer je input te delen door 10, 100, 1000 of 10000** - Je werkt met tijdstempels buiten de (zeer uitgebreide) limieten van Excel.
- Je hebt
A1
niet vervangen door de cel met het tijdstempel ;-p
Uitleg
Unix-systemen geven een tijdstip weer als een getal. Specifiek het aantal seconden* sinds een nultijd die het Unix-tijdperk wordt genoemd en die 1/1/1970 00:00 UTC/GMT
is. Dit aantal seconden wordt “Unix-tijdstempel”of “Unix-tijd”of “POSIX-tijd”genoemd of gewoon “tijdstempel”en soms (verwarrend) “Unix-tijdperk”.
In het geval van Excel kozen ze voor een andere nultijd en stap (want wie houdt er nu niet van variatie in technische details?). Excel telt dus days
sinds 24 hours before 1/1/0000 UTC/GMT
. Dus 25569 komt overeen met 1/1/1970 00:00 UTC/GMT
en 25570 met 2/1/1970 00:00
.
Als je nu ook opmerkt dat we 86400 seconden per dag hebben (24 uur x60 minuten x60 seconden) en je begrijpt wat deze formule doet: A1/86400
converteert seconden naar dagen en +25569
past de afwijking aan tussen wat nultijd is voor Unix en wat nultijd is voor Excel.
Trouwens DATE(1970,1,1)
zal 25569 voor je teruggeven voor het geval je dit alles vergeet, dus een meer “zelfdocumenterende”manier om schrijf onze formule is:
=A1/(24*60*60) + DATE(1970,1,1)
P.S.: Al deze waren al aanwezig in andere antwoorden en opmerkingen, maar niet zo opgemaakt zoals ik ze leuk vind en ik denk niet dat het OK is om een ander antwoord te bewerken.
*: dat is bijna correct, want je moet geen schrikkelseconden tellen
**: bijv. in het geval van deze vraag was het aantal millisecondensinds het Unix-tijdperk.
Antwoord 4, autoriteit 6%
Als je ######## hebt, kan het je helpen:
=((A1/1000+1*3600)/86400+25569)
+1*3600
is GTM+1
Antwoord 5, autoriteit 2%
voor het geval het bovenstaande niet voor u werkt. voor mij deed dit om de een of andere reden niet;
de UNIX-nummers waar ik aan werk zijn van de Mozilla place.sqlite-datums.
om het te laten werken: ik heb de UNIX-cellen in twee cellen gesplitst: een van de eerste 10 cijfers (de datum) en de andere 4 cijfers over (de seconden geloof ik)
Vervolgens gebruikte ik deze formule, =(A1/86400)+25569 waarbij A1 de cel bevat met het eerste 10-nummer; en het werkte
Antwoord 6
U ziet de datum als ########
hoogstwaarschijnlijk omdat de EPOCH-tijden per definitie in seconden zijn – https://en.wikipedia.org/wiki/Unix_time. Dit betekent dat het nummer 10 tekens lang moet zijn. Uw nummer heeft 13 tekens (zie 1504865618099
) en is hoogstwaarschijnlijk in milliseconden (MS). Om de formule te corrigeren, deelt u het getal door 1000. Houd er rekening mee dat u op deze manier de MS-precisie verliest, maar in de meeste gevallen is dit OK. Dus de uiteindelijke formule zou moeten zijn:
=A1/(86400 * 1000) + DATE(1970,1,1)