Razvijalčev vodnik po pretvorniku Unix časovnega žiga
Obvladajte pretvornik Unix časovnega žiga. Naučite se pretvarjati čas epohe v datume, ki jih lahko berejo ljudje, obvladovati različne jezike in se izogniti pogostim pastem razvijalcev.

Priporočene razširitve
Pretvornik Unix časovnih žigov je eno izmed tistih preprostih, a nepogrešljivih orodij, ki se jim boste kot razvijalec ali podatkovni analitik stalno obračali. Je priročen pripomoček, ki dolgo, navidez naključno številko prevede v datum in čas, ki ga dejansko lahko razumemo. Ta prevod je ključen, ko raziskujete sistemske dnevnike, delate z API-ji ali poizvedujete po podatkovnih bazah, kjer je čas shranjen v tej zelo učinkoviti obliki.
Kaj je Unix časovni žig in zakaj je pomemben

Preden lahko resnično cenite dober pretvornik, morate razumeti, kaj ta številka dejansko je. V jedru je Unix časovni žig le tekoče štetje sekund. Sledi skupnemu številu sekund, ki so minile od 00:00:00 UTC 1. januarja 1970. Ta posebni trenutek v času je znan kot "Unix epoha."
Zakaj ta metoda? Preprostost in učinkovitost. Shranjevanje časa kot enega samega števila je bistveno bolj kompaktno in zmogljivo kot dolgi niz, kot je "Petek, 1. januar 2021 12:00:00 AM GMT". To ga naredi popolnega za nekaj ključnih področij:
- Shranjevanje v podatkovnih bazah: Časovni žigi so majhni, kar jim omogoča hitro indeksiranje in poizvedovanje. To je velik zmago za zmogljivost.
- API nosilci podatkov: Pošiljanje ene same številke naprej in nazaj je veliko manj obremenjujoče za pasovno širino kot pošiljanje polnega niza z datumom, kar vodi k hitrejšim časom odziva.
- Dnevniške datoteke: Ko razčlenjujete dnevnike z desetine različnih sistemov, je uniformen, neodvisen od jezika časovni žig rešitelj.
- Kalkulacije: Želite vedeti, koliko časa je trajal postopek? Preprosto odštejite začetni časovni žig od končnega. To je preprosta matematika s celimi števili.
Sekunde proti milisekundam in dlje
Klasični Unix časovni žig je 10-mestno število, ki predstavlja sekunde. Ampak ker se je tehnologija razvijala, je rasla tudi potreba po bolj podrobni merjenju časa. Tu se boste začeli srečevati z različnimi dolžinami časovnih žigov in to je pogosta ovira.
Tukaj je hiter pregled tega, kar boste običajno naleteli v praksi. Zamešati enega za drugega je klasična napaka "od tisočega", ki lahko privede do zelo zmedenih hroščev.
Pogoste oblike Unix časovnih žigov na prvi pogled
| Enota | Število števk | Tipični primer uporabe | Primer vrednosti (za isti trenutek) |
|---|---|---|---|
| Sekunde | 10 | Standard za večino strežniških sistemov, podatkovnih baz in API-jev. | 1609459200 |
| Milisekunde | 13 | Zelo pogosta v spletih tehnologijah, predvsem JavaScript. | 1609459200000 |
| Mikrosekunde | 16 | Uporabljajo se v visokofrekvenčnem trgovanju ali znanstvnem računalništvu. | 1609459200000000 |
Razumevanje teh oblik je ključno. Če orodje pričakuje sekunde, vi pa mu podate milisekunde, boste dobili datum, ki je tisoče let v prihodnosti. To je napaka, ki jo je naredil že vsak nekoč!
Znani Problem leta 2038
Elegantna preprostost Unix časovnega žiga je ustvarila tudi tikajočo bombo: "Problem leta 2038." Na starejših 32-bitnih sistemih so bili časovni žigi shranjeni kot podpisano 32-bitno celo število. Problem je, da ima ta vrsta celih števil zgornjo mejo – ne more hraniti številke, večje od 2,147,483,647.
Dne 19. januarja 2038 ob 03:14:07 UTC bo število sekund od epohe preseglo to mejo. Ko se to zgodi, se bo celo število "zavrtelo nazaj" in postalo negativno. To bi povzročilo, da bi ranljivi sistemi interpretirali datum kot 1901, kar bi lahko sesulo milijarde zastarelih naprav, ki so še v uporabi. Več informacij o unix epohi in njenem vplivu lahko najdete pri strokovnjakih iz StrongDM.
Na srečo to za večino nas ni nekaj, kar bi morali dan na dan skrbeti. Velika večina sodobnih sistemov je za merjenje časa prešla na 64-bitna cela števila. 64-bitno celo število je tako ogromno, da se ne bo prelilo še naslednjih 292 milijard let, kar problem praktično rešuje za vselej.
Kljub temu je to fantastičen del računalniške zgodovine in ključno znanje, če se kdaj znajdete pri delu z starejšimi vdelanimi sistemi ali zapuščenimi bazami kode. Razumevanje teh temeljev naredi katerokoli orodje za pretvorbo unix časovnih žigov bistveno bolj zmogljivo v vaših rokah.
Brezhibne pretvorbe kar v brskalniku
Čeprav uporaba ukaza v terminalu ali izrezka kode deluje, ni vedno najhitrejši način za opravilo dela. Včasih potrebujete odgovor takoj, da ne bi prekinili svojega toka ali menjali oken. Tu se resnično izkaže vrednost dobrega orodja v brskalniku, še posebej namenski pretvornik unix časovnih žigov, ki je neposredno v vašem brskalniku.
Prava magija je v ohranjanju pretoka dela. Predstavljajte si: preiskujete odgovor API-ja v razvojnem orodju brskalnika in opazite časovni žig. Namesto da bi odprli nov zavihek ali zagnali terminal, s pritiskom na tipkovno bližnjico, prilepite številko in takoj dobite odgovor. To je vrsta nemotenega poteka dela, ki ga dobite z orodji, kot so razširitve ShiftShift, ki združujejo kopico uporabnih pripomočkov v eni Paleti ukazov.
Takojšnji odgovori s tipkovno bližnjico
Vse se vrti hitrost. S orodjem, kot je ShiftShift, hitro dvakrat pritisnete tipko Shift (ali Cmd+Shift+P na Macu) in se odpre ukazna vrstica. Samo začnite tipkati "časovni žig" in pretvornik se pojavi. Prilepite svojo vrednost in takoj imate berljiv datum.
Tako je videti—Paleta ukazov je pripravljena in čaka na pretvorbo časovnega žiga kar preko vaše trenutne strani.
Najboljše pri tem je, kako se integrira, ne da bi vam prišel v napoto. Pretvornik je samo eno od mnogih orodij, ki so na voljo v istem prekrivnem oknu, zato vam ni treba zapustiti tega, kar delate.
Ta pristop je rešitev za razvijalce, testiralce in vse druge, ki v bistvu živijo v svojem brskalniku. Poleg tega se pretvorna operacija v celoti odvija na vašem stroju. Občutljivi podatki iz dnevnikov ali odgovorov API-ja nikoli ne zapustijo vašega računalnika, kar je velika zmaga za zasebnost.
Možnost, da pretvorite časovni žig, preoblikujete neurejen blok JSON-a in nato izračunite časovno razliko — vse iz istega vmesnika — ogromno prihrani čas. To pretvori nerodno, večorodno operacijo v eno gladko dejanje.
Več kot le enostransko orodje
Odlična brskalniška pripomočka redko obstaja kot samo eno orodje; je del celotnega nabora. Pogosto boste pretvornik časovnih žigov uporabljali skupaj z drugimi funkcijami.
Na primer, ga lahko kombinirate z:
- JSON ali SQL formatiranjem, da očistite kodo, preden vzamete časovni žig.
- Vgradenim kalkulatorjem za hitro računanje z vrednostmi epohe. (Podobno orodje lahko preizkusite na strani za kalkulator ShiftShift, da vidite, kako deluje).
- Orodjem za primerjavo besedil, da zaznate razlike med dvema odgovoroma API-ja, vključno s časnimi žigi.
Imeti vse te bistvene pripomočke na enem mestu ustvarja veliko hitrejši in bolj enoten potek dela. Ne gre samo za udobje — gre za odstranitev vseh tistih majhnih, ponavljajočih motenj, ki se naberejo in vam ubijejo produktivnost v teku enega dne.
Praktične pretvorbe časovnih žigov v kodirnem jeziku
Če ste razvijalec, veste, da je igranje s časnimi žigi samo del posla. A bodimo iskreni, sintaksa nikoli ni povsem enaka iz enega programskega jezika v drugega. Ta odsek je vaš priročnik za hitro pomoč, poln izrezkov kode, ki jih lahko vzamete in takoj uporabite za platforme, na katerih dejansko delate. Nikoli več ne boste iskali po starih temah na Stack Overflow — samo praktični primeri, da se spravite v gibanje.

Ne glede na to, ali obdelujete podatke na spletnem vmesniku, pišete Python skripto ali poizvedujete po podatkovni bazi, je pretvorba epoch časa temeljna veščina. Obravnavali bomo najpogostejše scenarije, od pretvarjanja epoch cela števila v berljiv nato pa tudi celoten postopek v obratni smeri.
Pretvarjanje časovnih žigov v JavaScriptu
JavaScriptov Date objekt je vaše primarno orodje, a ima veliko posebnost, ki jo razvijalci pogosto spregledajo: deluje v milisekundah, ne v sekundah. To je klasičen vir napak, ko vaš frontend komunicira z backendom, ki uporablja standardne 10-mestne časovne žige, ki temeljijo na sekundah.
Za pravilno pretvorbo standardnega Unix časovnega žiga (v sekundah) v Date objekt, ga morate pomnožiti z 1000.
// A standard 10-digit Unix timestamp (in seconds)
const unixTimestamp = 1672531200;
// Convert to milliseconds, then create a Date object
const dateObject = new Date(unixTimestamp * 1000);
// Format into a readable UTC string
// Output: Sun, 01 Jan 2023 00:00:00 GMT
console.log(dateObject.toUTCString());
Potrebujete trenutni časovni žig? Date.now() vam ga vrne v milisekundah. Le ne pozabite, da delite z 1000 in zaokrožite navzdol, preden standardni 10-mestni časovni žig pošljete nazaj k API-ju.
Ravnanje s pretvorbami v Pythonu
Na backendu je Pythonov datetime modul zmogljivo orodje. Neverjetno je prilagodljiv in ima odlično podporo za pretvorbe z zavedanjem časovnih pasov, kar ga naredi za zanesljivo izbiro za storitve, ki morajo ravnati s časom natančno v različnih regijah.
Tukaj je preprost način za pretvorbo časovnega žiga z datetime knjižnico:
import datetime
Standardni 10-mestni Unix časovni žig
unix_timestamp = 1672531200
Pretvorite časovni žig v datetime objekt
datetime_obj = datetime.datetime.fromtimestamp(unix_timestamp)
Formatirajte ga v čist, človeku berljiv niz
Izhod: 2023-01-01 00:00:00
print(datetime_obj.strftime('%Y-%m-%d %H:%M:%S'))
Ta preprost pristop vam daje čist in zanesljiv način za upravljanje epoch časa v vaših Python aplikacijah. In če delate z kompleksnimi podatkovnimi strukturami, kot je JSON, ki vsebujejo časovne žige, vam lahko naš vodnik o uporabi JSON formatirnika pride prav pri razhroščevanju.
Pretvorbe v podatkovnih bazah s SQL
Podatkovne baze pogosto shranjujejo čas kot Unix časovne žige, ker so učinkoviti. Dobra novica je, da ima večina SQL dialektov vgrajene funkcije za obravnavo teh pretvorb kar znotraj vaših poizvedb. To je bistveno bolj učinkovito, kot da bi vlekli surove celi številski časovne žige in jih pretvarjali v kodi vaše aplikacije.
Unix časovni žig je skoraj univerzalen, uporablja se v več kot 90% programskih jezikov – od JavaScriptovega Date.now() do Pythonovega time.time() – in poganja bilijune dnevnih operacij. Pravilno ravnanje s časovnimi pasovi je ključno; zmogljiv unix timestamp convertor lahko obdela več kot 400 IANA con, kar pomaga preprečiti napake v ocenjenem 62% svetovnih aplikacij, ki eksplicitno ne upravljajo s časovnimi pasovi. Več podrobnosti o globalni uporabi teh orodij lahko najdete na Fossa.
Za razvijalce je možnost formatiranja SQL, pretvarjanja časovnih žigov in računanja epoch razlik, ne da bi kdaj zapustili svoj računalnik, velika zmaga pri produktivnosti. Ta lokalno-primarni pristop vas tudi usklajuje z modernimi standardi zasebnosti podatkov, kot sta GDPR in CCPA.
Primer v MySQL
V MySQL boste najpogosteje uporabljali funkcijo FROM_UNIXTIME(). Sprejme epoch celo število in ga lepo pretvori v standardni format DATETIME.
SELECT FROM_UNIXTIME(1672531200);
-- Vrne: '2023-01-01 00:00:00'
Za obratno pot – iz niza z datumom nazaj v epoch časovni žig – preprosto uporabite UNIX_TIMESTAMP().
SELECT UNIX_TIMESTAMP('2023-01-01 00:00:00');
-- Vrne: 1672531200
Primer za PostgreSQL
PostgreSQL uporablja rahlo drugačno, a enako zmogljivo funkcijo: to_timestamp(). Ta funkcija neposredno pretvori Unix časovni žig v TIMESTAMP WITH TIME ZONE vrednost.
SELECT to_timestamp(1672531200);
-- Vrne: 2023-01-01 00:00:00+00
Ker je takoj pripravljen za delo z časovnimi pasovi, je zelo robustna izbira za aplikacije, ki strežejo globalnemu občinstvu, kjer je natančnost časa bistvena.
Obvladajte pretvorbe časovnih žigov v terminalu
Če delate v ukazni vrstici, preklop na brskalnik ali grafični vmesnik za hitro pretvorbo časovnega žiga resnično uniči vaš potek dela. Prekine vašo koncentracijo. Dobra novica je, da vam tega ni treba; tako Linux kot macOS imata zmogljiva, domača orodja za obravnavanje teh pretvorbi, ne da bi zapustili terminal.
Najpogosteje uporabljeno orodje za to je preprost ukaz date. Je praktično na vsakem Unix-podobnem sistemu, toda pri tem je zvijača: skladnja za njegovo uporabo kot pretvornika unix žiga se razlikuje med Linuxom (GNU) in macOS (BSD). Poznavanje te razlike je ključ za pravilno delo vsakič.
Pretvarjanje žigov na Linuxu
Na Linuxu je skladnja čista in enostavna za zapomniti. Samo uporabite zastavico -d za določitev datuma, a morate sistemu povedati, da podajate žig dobe (epoch), tako da mu ga predložite s predpono @ simbol.
Recimo, da preiskujete dnevnike in naletite na časovni žig 1704067200. Če želite videti, kaj to dejansko pomeni, zaženite to:
date -d @1704067200
Takoj boste dobili datum, berljiv za ljudi, nekaj takega kot Mon Jan 1 00:00:00 UTC 2024. Izhod lahko tudi očistite s svojim lastnim formatom.
date -d @1704067200 +"%Y-%m-%d %H:%M:%S"
Izhod: 2024-01-01 00:00:00
Nasvet strokovnjaka: Ta ukaz postane pravo orodje za moč, ko začnete vanj usmerjati (pipovati) druge ukaze. Lahko
grepčasovni žig iz ogromne datoteke z dnevniki in ga neposredno posredujetedateza takojšnjo pretvorbo. To pretvori večstopenjsko nalogo razhroščevanja v en eleganten enovrstični ukaz.
Obravnavanje pretvorb na macOS
Zdaj, če zaženete isti ukaz za Linux na Macu, boste dobili napako. BSD različica date, ki jo uporablja macOS, namesto tega zahteva zastavico -r in ne potrebuje predpone @.
Tako bi na Macu pretvorili isti časovni žig:
date -r 1704067200
Tako kot pri različici za Linux, lahko pripnete možnosti formatiranja, da dobite točno želeni izhod.
date -r 1704067200 +"%Y-%m-%d %T %Z"
Izhod: 2024-01-01 00:00:00 UTC
Ta drobna razlika je klasična past za vse, ki pogosto prehajajo med Linuxom in macOS. Zapomnite si obe različici in prihranili si boste veliko težav v prihodnosti.
Ko obvladate te ukaze, lahko pretvorbe časovnih žigov neposredno vpletete v svoje lupinske skripte in analizo dnevnikov. Je majhna veščina, a se sešteva v resne pridobitve produktivnosti, ki vas ohranjajo v coni in osredotočene na delo, ki šteje.
Pogoste pasti časovnih žigov in kako se jim izogniti
Delo z Unix časovnimi žigi je na videz preprosto, a nekaj klasičnih napak lahko vodi do resnično norih programskih hroščev. Te težave imajo neprijetno navico, da se pojavijo daleč od kraja, kjer se je napaka dejansko zgodila, kar jih naredi resnično glavobol za razhroščevanje. Razdelek obravnavajte kot svoj terenski vodnik za zaznavanje in izogibanje najpogostejšim pastem časovnih žigov, ki sem jih videl skozi leta.
Zamenjava sekund in milisekund
Daleč najpogostejša napaka je zamenjava sekund z milisekundami. Standardni Unix časovni žig je 10-mestno celo število, ki predstavlja število sekund od dobe. Toda mnogi sistemi, še posebej v svetu JavaScript, delajo s 13-mestnim žigom za milisekunde. Ko odvetniška aplikacija prenese vrednost v milisekundah na ozadje, ki pričakuje sekunde, stvari postanejo kaotične.
Za a unix timestamp convertor, ta 13-mestna številka izgleda kot datum več tisoč let v prihodnosti. To lahko tiho uniči validacijo podatkov, logiko razporejanja in vse zgodovinske zapise, ki jih poskušate ohraniti. To je vrsta subtilne korupcije podatkov, ki je morda ne boste opazili celo tedne.
Past časovnih pasov
Drug problem, ki ulovi celo izkušene razvijalce, je obravnava časovnih pasov. Po svoji definiciji je Unix timestamp vedno v usklajenem univerzalnem času (UTC). Predstavlja en sam, univerzalni trenutek v času, popolnoma neodvisen od lokacije. Past se sproži, ko to pozabite in predpostavite, da timestamp odraža lokalni čas uporabnika.
Ta napaka se običajno pojavi, ko pretvorite časovni žig v berljiv datum, ne da bi določili časovni pas. Vaš sistem pogosto privzame lokalni čas strežnika, kar povzroča kaos. Uporabnik v New Yorku morda vidi čas, namenjen nekomu v Londonu, vendar se razlikuje za nekaj ur.
Zlato pravilo je preprosto: vedno obravnavajte časovne žige kot UTC v svojem ozadju. Shranjujte jih kot UTC, obdelujte jih kot UTC in jih pretvorite v lokalni čas uporabnika le na sprednjem delu, takoj v trenutku prikaza.
Odpravljanje pogostih napak pri pretvorbi časovnih žigov
Ko stvari ne gredo po načrtu, so simptomi lahko zmedeni. Tukaj je hitra referenčna tabela, ki sem jo sestavil po izkušnjah, da vam pomagam diagnosticirati in odpraviti najpogostejše težave v teku.
| Simptom | Verjeten vzrok | Rešitev |
|---|---|---|
| Datum je v letu 52361 ali nekem drugem oddaljenem prihodnjem času. | Milisekunde proti sekundam. Funkciji, ki pričakuje 10-mestni časovni žig v sekundah, prenašate 13-mestni časovni žig v milisekundah. | Časovni žig pred obdelavo delite z 1000. Vedno preverite število mest vhodnih časovnih žigov. |
| Čas je zamaknjen za nekaj ur, vendar je datum pravilen. | Napačna obravnava časovnega pasu. Časovni žig je bil pretvorjen z uporabo lokalnega časa strelnika namesto časa uporabnika ali UTC. | Poskrbite, da bodo vse pretvorbe izrecno določale ciljni časovni pas. Pretvorbo v lokalni čas izvajajte samo na strani odjemalca. |
| Datum je zataknjen na 1. januar 1970. | Neveljaven ali nični časovni žig. Vrednost časovnega žiga je verjetno 0, null, ali undefined. |
Pred poskusom konverzije dodajte preverjanje, da je časovni žig veljavno pozitivno celo število. Zagotovite rezervno vrednost. |
Pridobitev "Invalid Date" ali NaN napake. |
Napačen podatkovni tip. Časovni žig se obravnava kot niz ali drug netip številčnega tipa, kadar je zahtevano število. | Eksplicitno pretvorite časovni žig v celo število (parseInt() v JS, int() v Python) preden ga uporabite v datumskih funkcijah. |
Ne pozabite, hiter pregled vhodnih podatkov vam lahko prihrani ure iskanja napak v prihodnosti.
Izogibanje dvoumju s standardnimi formati
Zanašanje na surove celoštevilske časovne žige pri prenašanju podatkov med sistemi je lahko recept za zmedo. Zato je standardizacija na univerzalni nizi format, kot je ISO 8601 (2022-05-17T12:00:00Z) tako odlična obrambna poteza. Pretvarjanje Unix časovnih žigov (npr., 1652905200) v jasno, samoopisno obliko, kot je ta, pomaga preprečiti napake pri ocenjevanju 37% prekoračitev časovnih pasov za API klice.
Ob upoštevanju, da 72% podjetij iz seznama Fortune 500 uporablja Unix časovne žige za analizo dnevnikov, kjer lahko ena sama napaka stane več kot $10,000 na uro izpada, je natančnost vse. Več o tem, kako se epoch čas uporablja v različnih panogah, lahko preberete na EpochConverter.
Za tiste, ki upravljajo baze podatkov, je dosledna obravnava časovnih žigov prav tako ključnega pomena. Če se pogosto ukvarjate z različnimi formati časovnih žigov v svoji bazi podatkov, je naš vodnik o uporabi zmogljivega SQL oblikovalnika vam lahko pomaga ohranjati poizvedbe čiste in predvidljive.
To drevo odločitve vam pomaga izbrati pravo ukaz za vaš operacijski sistem, kar preprečuje napake v sintaksi, ko potrebujete hiter pretvorbo.

Zgornji diagram jasno prikazuje bistveno razliko v sintaksi med ukazom date na Linuxu (-d @...) in macOS (-r ...) – pogosta past za razvijalce, ki delajo v različnih okoljih.
Da bi zaščitili svojo kodo, vedno izvajajte preverjanja za validacijo dolžine dohodnega časovnega žiga. Preprosta funkcija, ki preverja 10-mestno (sekunde) ali 13-mestno (milisekunde) vrednost, lahko te napake ujame, preden onesnažijo logiko vaše aplikacije.'
Pogosta vprašanja o Unix časovnih žigih
Ko osvojite Unix časovne žige, se skoraj vedno pojavijo nekatera praktična vprašanja. Videl sem, kako te pasti ujamejo razvijalce vseh stopenj, zato poglejmo najpogostejša, na katere boste naleteli pri svojem vsakodnevnem delu.
Zakaj toliko API-jev uporablja časovne žige namesto ISO 8601 nizov?
Gre predvsem za surovo učinkovitost. Unix časovni žig je samo eno samo število, kar ga naredi neverjetno kompaktnega v primerjavi z nizom kot je '2023-10-27T10:00:00Z'. Manjša velikost pomeni manj podatkov za prenos po omrežju, kar prihrani pasovno širino in lahko pospeši odzive API-jev.
Prav tako so popolnoma neodvisni od jezika. Ni dvoumnosti, nenavadnosti pri razčlenjevanju ali regionalnega formatiranja, za katerega bi morali skrbeti. Za stroj je obdelava števil vedno hitrejša od razčlenjevanja nizov, zato so vsi datumski izračuni – kot je ugotavljanje časa med dvema dogodkoma – računsko cenejši. Za visoko zmogljive sisteme je ta preprostost velika prednost.
Kako pravilno ravnamo z časovnimi pasovi?
To je ključno vprašanje. Tu je zlato pravilo: Unix časovni žig je vedno, vedno v UTC. V sebi nima koncepta časovnega pasu. Je samo surovo štetje sekund od epohe.
Časovni pasovi so pomembni le, kadar morate ta časovni žig prikazati človeku.
Moj nasvet? Držite se UTC za vse na hrbtni strani (backend). Shranite ga v svojo bazo podatkov kot UTC časovni žig, ga pošljite prek svojih API-jev v UTC in izvedite vso svojo logiko strežnika v UTC. Edini čas, ko ga morate pretvoriti v lokalni časovni pas, je na sprednji strani (frontend), takoj preden ga prikažete uporabniku. Ta ena sama praksa vas bo rešila cele palete napak, povezanih s časovnimi pasovi in poletnim časom.
Ali se moram še vedno bati problema leta 2038?
Za večino novih projektov verjetno ne. "Problem leta 2038" je ostanek starejših sistemov, ki so za shranjevanje časovnega žiga uporabljali 32-bitno predznakovo celo število. Ko to število postane preveliko, se zavrtelo in postane negativno, kar povrne datume v leto 1901.
Na srečo so skoraj vsi sodobni sistemi – od operacijskih sistemov do baz podatkov – že dolgo prešli na 64-bitna cela števila. To dejansko potisne težavo tako daleč v prihodnost (dejansko milijarde let), da za nas ni več praktična skrb.
Kljub temu, če vzdržujete starejši sistem ali delate z vgrajeno strojno opremo (mislim na naprave IoT), je to zagotovo nekaj, kar morate poznati. Vedno vedite, na kakšni arhitekturi gradite.
Kako lahko hitro pretvorim časovni žig v Excelu ali Google Pisarnah?
Za to vam ni treba podatkov izvleči v ločeni pretvornik Unix časovnih žigov. Preprosta formula bo naredila trik. Če predpostavimo, da je vaš časovni žig v celici A1:
- Za časovne žige v sekundah (10 mest):
=A1 / 86400 + DATE(1970,1,1) - Za časovne žige v milisekundah (13 mest):
=A1 / 86400000 + DATE(1970,1,1)
Samo vstavite to formato, nato pa oblikujte celico kot "Datum" ali "Datum in Čas". To je rešitelj, ko hitro analizirate izvoze podatkov in ne želite prekiniti svojega poteka dela.
Naveličani stalnega preklapljanja med urejevalnikom, ukazno vrstico in ducatom zavihkov brskalnika za preproste naloge? Komplet ShiftShift Extensions združuje zmogljiv pretvornik Unix časovnih žigov, formatiralec JSON, olepševalnik SQL in še več neposredno v vaš brskalnik. Vse, kar potrebujete, je le na tipkovnici s bližnjično tipko.
Pridobite ShiftShift Extensions in poenostavite svoj delovni potek danes na https://shiftshift.app