Sprievodca pre vývojárov k prevodníku Unix časových pečiatok
Ovládnite prevodník Unix timestampu. Naučte sa prevádzať epochový čas na dátumy čitateľné pre ľudí, zaobchádzať s rôznymi jazykmi a vyhnúť sa bežným chybám vývojárov.

Odporúčané rozšírenia
Konvertor Unix timestampov je jedným z tých jednoduchých, ale nenahraditeľných nástrojov, po ktorých sa ako vývojár alebo dátový analytik budete neustále obzerať. Je to užitočná utilita, ktorá prevádza dlhé, na prvý pohľad náhodné číslo na dátum a čas, ktorému naozaj rozumieme. Tento preklad je kľúčový, keď prehľadávate systémové logy, pracujete s API alebo sa pýtate na databázy, kde je čas uložený v tomto superefektívnom formáte.
Čo je Unix timestamp a prečo je dôležitý

Skôr než naozaj oceníte dobrý konvertor, musíte pochopiť, čo toto číslo vlastne je. Vo svojej podstate je Unix timestamp len priebežným počítadlom sekúnd. Sleduje celkový počet sekúnd, ktoré uplynuli od 00:00:00 UTC 1. januára 1970. Ten konkrétny okamih v čase je slávne známy ako „unixová epocha."
Prečo táto metóda? Jednoduchosť a efektivita. Ukladanie času ako jedného celého čísla je omnoho kompaktnejšie a výkonnejšie ako zdĺhavý reťazec, ako napríklad „Piatok, 1. januára 2021, 00:00:00 GMT". Vďaka tomu je to ideálne pre niekoľko kľúčových oblastí:
- Úložisko v databázach: Časové pečiatky sú malé, vďaka čomu sa rýchlo indexujú a prehľadávajú. Pre výkon je to veľká výhra.
- Záťaže API: Posielanie jedného čísla tam a späť je na šírku pásma oveľa menej náročné než posielanie celého reťazca dátumu, čo vedie k rýchlejším časom odozvy.
- Súbory s logami: Keď parsete logy z desiatok rôznych systémov, jednotná, na jazyk nezávislá časová pečiatka je doslova záchranou.
- Výpočty: Potrebujete vedieť, ako dlho trval proces? Jednoducho odpočítajte počiatočný timestamp od koncového. Je to jednoduchá matematika s celými číslami.
Sekundy vs. Milisekundy a ďalšie
Klasický Unix timestamp je 10-ciferné číslo reprezentujúce sekundy. Ale ako technológia pokročila, rástla potreba presnejšieho merania času. Tu začínate vidieť rôzne dĺžky timestampov a je to bežný kameň úrazu.
Tu je rýchly prehľad toho, s čím sa bežne stretnete. Zameniť jeden za druhý je klasická „chyba o tisíc", ktorá môže viesť k veľmi mätúcim chybám.
Prehľad bežných formátov Unix timestampu
| Jednotka | Počet cifier | Typický prípad použitia | Príklad hodnoty (pre ten istý okamih) |
|---|---|---|---|
| Sekundy | 10 | Štandard pre väčšinu backend systémov, databáz a API. | 1609459200 |
| Milisekundy | 13 | Veľmi bežné v webových technológiách, najmä JavaScript. | 1609459200000 |
| Mikrosekundy | 16 | Používajú sa vo vysokofrekvenčnom obchodovaní alebo vedeckom výpočte. | 1609459200000000 |
Mať tieto formáty jasné je kľúčové. Ak nástroj očakáva sekundy a vy mu dodáte milisekundy, dostanete dátum, ktorý je tisícky rokov v budúcnosti. Je to chyba, ktorú sme všetni niekedy urobili!
Slávny problém roku 2038
Elegantná jednoduchosť Unix timestampu tiež vytikla tikajúcu bombu: „problém roku 2038". Na starších 32-bitových systémoch sa timestampy ukladali ako signed 32-bit integer. Problém je, že tento typ celého čísla má strop – nemôže obsiahnuť číslo väčšie ako 2,147,483,647.
Dne 19. januarja 2038 ob 03:14:07 UTC bo število sekund od začetka epocha preseglo to mejo. Ko se to zgodi, se bo celoštevilsko število "prelilo" in postalo negativno. To bi povzročilo, da bi ranljivi sistemi datum interpretirali nazaj v 1901, kar bi lahko sesulo milijarde starejših naprav, ki so še v uporabi. Več vpogledov o Unix epochu in njegovem vplivu lahko najdete pri strokovnjakih iz StrongDM.
Na sreča to večina od nas ne rabimo dnevno. Velika večina sodobnih sistemov je za merjenje časa prešla na 64-bitna celoštevilska števila. 64-bitno število je tako obsežno, da ne bo prekipevalo še naslednjih 292 milijard let, kar problem rešuje za vedno.
Kljub temu je to fantastičen del računalniške zgodovine in bistveno znanje, če se kdaj znajdete pri delu z starejšimi vgrajenimi sistemi ali starejšimi programskimi okvirji. Razumevanje teh temeljev naredi katerikoli pretvornik Unix časovnih žigov veliko zmogljivejše orodje v vaših rokah.
Pretvarjanje brez truda v vašem brskalniku
Čeprav uporaba ukaza v terminalu ali izrezka kode deluje, ni vedno najhitrejši način za opravljanje dela. Včasih preprosto potrebujete odgovor takoj, ne da bi prekinili svojo koncentracijo ali preklopili okna. Tu se pokaže vrednost dobrega orodja v brskalniku, zlasti posebnega pretvornika Unix časovnih žigov, ki živi kar v vašem brskalniku.
Prava magija je v tem, da ostanete v toku. Predstavljajte si: preiskujete API odgovor v razvijalskih orodjih brskalnika in opazite časovni žig. Namesto da bi odprli nov zavihek ali zagnali terminal, pritisnete hiter tipkovnični bližnjico, prilepite številko in takoj dobite odgovor. To je tisti brezhibni potek dela, ki ga dobite z orodji, kot so ShiftShift Extensions, ki združujejo kopico uporabnih pripomočkov v enem Command Palette.
Takojšnji odgovori s tipkovnično bližnjico
Vse se vrti hitrosti. S orodjem, kot je ShiftShift, hiter dvojni dotik tipke Shift (ali Cmd+Shift+P na Macu) odpre vrstico ukazov. Preprosto začnite tipkati "timestamp" in pretvornik se pojavi. Prilepite svojo vrednost in takoj imate berljiv datum.
Tako to izgleda – Command Palette je pripravljen in čaka, da pretvori časovni žig kar prek vaše trenutne strani.
Najboljše je, kako se integrira, ne da bi vam prišel na pot. Pretvornik je le eno izmed mnogih orodij, ki so na voljo v istem prekrivnem oknu, zato vam nikoli ni treba zapustiti tega, kar počnete.
Ta pristop je rešitev za razvijalce, testerje in vse druge, ki praktično živijo v svojem brskalniku. Poleg tega se pretvorba povsem izvaja na vašem stroju. Občutljivi podatki iz dnevnikov ali API odgovorov nikoli ne zapustijo vašega računalnika, kar je velika zmaga za zasebnost.
Možnost pretvorbe časovnega žiga, preoblikovanja neurejenega JSON bloka in nato izračuna časovne razlike – vse iz istega vmesnika – je velik prihranek časa. Spodobni, več-orodni proces spremenijo v eno, gladko dejanje.
Več kot le enkratno orodje
Odlično orodje v brskalniku redko predstavlja samo eno orodje; deluje kot del celotnega nabora. Pogosto boste ugotovili, da pretvornik časovnih žigov uporabljate skupaj z drugimi funkcijami.
Na primer, ga lahko kombinirate z:
- A JSON ali SQL formatirnik za ureditev nekaj kode, preden vzamete časovni žig.
- Vgrajen računalnik za hitre izračune na vrednostih epocha. (Podobno orodje lahko preizkusite na strani ShiftShift računalnika, da vidite, kako deluje).
- A orodje za primerjavo besedila za zaznavanje razlik med dvema API odgovoroma, vključno s časnimi žigi.
Imeti vse te bistvene elemente na enem mestu ustvarja veliko hitrejši in bolj povezan potek dela. Ni le v udobju – gre za odstranjevanje vseh tistih majhnih, ponavljajočih se motenj, ki se seštevajo in v teku dneva ubijajo vašo produktivnost.
Praktične pretvorbe časovnih žigov v kodu
Če ste razvijalec, veste, da je igranje s časnimi žigi del službe. A bodimo iskreni, sintaksa nikoli ni povsem enaka iz enega jezika v drugega. Ta razdelek je vaš priročni list, poln izrezkov kode, ki jih lahko takoj vzamete in uporabite za platforme, s katerimi dejansko delate. Nič več preiskovanja starih tem na Stack Overflow – samo praktični primeri, da vas premaknejo.

Či už spracovávate dáta na webovom frontende, píšete Python skript alebo sa pýtate na databázu, konverzia epoch time je základná zručnosť. Prejdeme si najčastejšie scenáre, od prevodu epoch integer na čitateľný reťazec a potom späť.
Konverzia časových značiek v JavaScript
JavaScript Date objekt je tu vaším primárnym nástrojom, ale má veľkú zvláštnosť, ktorá stále mätie vývojárov: pracuje v milisekundy, nie sekundy. Toto je klasický zdroj chýb, keď váš frontend komunikuje s backendom, ktorý používa štandardné 10-ciferné časové pečiatky v sekundách.
Na správnu konverziu štandardného Unix času (v sekundách) na Date objekt musíte ho vynásobiť číslom 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 aktuálny časový značku? Date.now() vám ju poskytne v milisekundách. Len si pamätajte, že ju treba vydeliť číslom 1000 a zaokrúhliť nadol, než sa späť do API odošle štandardná 10-miestna časová značka.
Spracovanie konverzií s Pythonom
Na backendovej strane, Python's datetime modul je výkonný. Je neuveriteľne flexibilný a má výbornú podporu pre konverzie s ohľadom na časové pásma, čo z neho robí spoľahlivú voľbu pre služby, ktoré potrebujú presne spracovávať čas v rôznych regiónoch.
Tu je jednoduchý spôsob, ako previesť časovú pečiatku pomocou datetime knižnica:
import datetime
Štandardný 10-miestny Unix časový pečiat
unix_timestamp = 1672531200
Previesť časovú pečiat na objekt dátumu a času
datetime_obj = datetime.datetime.fromtimestamp(unix_timestamp)
Naformátovať ju do čistého, ľuďom čitateľného reťazca
Výstup: 2023-01-01 00:00:00
print(datetime_obj.strftime('%Y-%m-%d %H:%M:%S'))
Tento jednoduchý prístup vám poskytuje čistý a spoľahlivý spôsob správy epoch time vo vašich Python aplikáciách. A ak pracujete so zložitými dátovými štruktúrami ako JSON, ktoré obsahujú časové pečiatky, možno sa vám bude hodiť náš sprievodca používania JSON formatéra užitočné pri ladení.
Konverzie databáz pomocou SQL
Databázy často ukladajú čas ako Unixové časové pečiatky, pretože sú efektívne. Dobrou správou je, že väčšina dialektov SQL má vstavané funkcie na spracovanie týchto konverzií priamo vo vašich dotazoch. To je oveľa efektívnejšie ako naťahovanie surových celočíselných časových pečiatok a ich konverzia v kóde vašej aplikácie.
Unixová časová pečiatka je takmer univerzálna, používa sa vo viac ako 90% programovacích jazykov – od JavaScriptu Date.now() až po Python time.time()– poháňajúcich bilióny denných operácií. Správne nastavenie časových pásem je kľúčové; spoľahlivý unix timestamp convertor dokáže spracovať viac ako 400 zón IANA, čo pomáha predchádzať chybám v odhadovanom 62% globálnych aplikácií, ktoré explicitne nespravujú časové pásma. Viac podrobností o globálnom prijatí týchto nástrojov nájdete na Fossa.
Pre vývojárov je schopnosť formátovať SQL, prevádzať časové pečiatky a počítať rozdiely epoch bez opustenia vášho zariadenia obrovskou výhrou produktivity. Tento lokálne zameraný prístup vás tiež udržiava v súlade s modernými štandardami ochrany údajov, ako sú GDPR a CCPA.
Príklad pre MySQL
V MySQL sa FROM_UNIXTIME() funkcia používa najčastejšie. Prijme epoch celé číslo a elegantne ho prevádza do štandardného DATETIME formát.
SELECT FROM_UNIXTIME(1672531200);
-- Vracia: '2023-01-01 00:00:00'
Pre opačný postup – z dátumového reťazca späť na epoch timestamp – jednoducho použite UNIX_TIMESTAMP().
SELECT UNIX_TIMESTAMP('2023-01-01 00:00:00');
-- Vráti: 1672531200
Príklad pre PostgreSQL
PostgreSQL používa mierne odlišnú, ale rovnako silnú funkciu: to_timestamp(). Táto funkcia priamo prevádza Unix časovú pečiatku na hodnotu TIMESTAMP WITH TIME ZONE.
SELECT to_timestamp(1672531200);
-- Vráti: 2023-01-01 00:00:00+00
Keďže je okamžite časovo pásmovo uvedomelá, je to veľmi robustná voľba pre aplikácie slúžiace globálnemu publiku, kde je časová presnosť nepísanou podmienkou.
Zvládnutie konverzií časových pečiatok v termináli
Ak žijete v príkazovom riadku, prepnutie do prehliadača alebo grafického rozhrania pre rýchlu konverziu časovej pečiatky je skutočným zabíjačom pracovného postupu. Jednoducho vás to vytrhne z koncentrácie. Dobrou správou je, že nemusíte; obe, Linux aj macOS, majú výkonné, natívne nástroje na zvládnutie týchto konverzií bez toho, aby ste vôbec museli opustiť terminál.
Najlepší nástroj na tento účel je skromný príkaz date. Je na prakticky každom unixovom systéme, ale je tu háčik: syntax použitia ako unix timestamp convertor sa líši medzi Linuxom (GNU) a macOS (BSD). Poznanie rozdielu je kľúčom k správnemu výsledku zakaždým.
Konverzia časových pečiatok na Linuxe
Na Linuxe je syntax čistá a ľahko zapamätateľná. Jednoducho použijete príznak -d na špecifikovanie dátumu, ale musíte mu povedať, že zadávate epochálnu časovú pečiatku, predložením symbolu @.
Povedzme, že prehľadávate záznamy a narazíte na časovú pečiatku 1704067200. Aby ste videli, čo to vlastne znamená, spustili by ste toto:
date -d @1704067200
Okamžite dostanete späť ľudsky čitateľný dátum, niečo ako Mon Jan 1 00:00:00 UTC 2024. Výstup si tiež môžete upraviť vlastným formátom.
date -d @1704067200 +"%Y-%m-%d %H:%M:%S"
Výstup: 2024-01-01 00:00:00
Profesionálna rada: Tento príkaz sa stane skutočnou elektrárňou, keď do neho začnete presmerovávať iné príkazy. Môžete
grepčasovú pečiatku z obrovskej súborového záznamu a priamo ju nasmerovať nadatepre okamžitú konverziu. Mení viackrokovú úlohu ladenia na jednoduchú, elegantnú jednoriadkovú úlohu.
Spracovanie konverzií na macOS
Teraz, ak spustíte ten istý príkaz pre Linux na Macu, zobrazí sa chyba. Verzia date pre BSD, ktorú macOS používa, namiesto toho vyžaduje príznak -r a nepotrebuje predponu @.
Tu je spôsob, ako by ste konvertovali tú istú časovú pečiatku na Macu:
date -r 1704067200
Rovnako ako verzia pre Linux, môžete pridať formátovacie možnosti, aby ste získali presný výstup, ktorý chcete.
date -r 1704067200 +"%Y-%m-%d %T %Z"
Výstup: 2024-01-01 00:00:00 UTC
Tento malý rozdiel je klasickou prekážkou pre každého, kto často prepína medzi Linuxom a macOS. Zapamätanie oboch verzií vám ušetrí veľa bolestí hlavy v budúcnosti.
Keď máte tieto príkazy v malíčku, môžete konverzie časových pečiatok priamo zapracovať do svojich shell skriptov a analýz záznamov. Je to malá zručnosť, ale pripočítava sa k vážnym ziskom produktivity, udržiava vás v zóne a sústredíte sa na prácu, na ktorej záleží.
Bežné úskalia časových pečiatok a ako sa im vyhnúť
Práca s unixovými časovými pečiatkami sa na povrchu zdá byť jednoduchá, ale niekoľko klasických chýb môže viesť k naozaj šialeným chybám. Tieto problémy majú nepríjemný zvyk objavovať sa ďaleko od miesta, kde sa chyba skutočne stala, čo ich robí skutočne ťažkými na ladenie. Považujte túto sekciu za svoju terénnu príručku na rozpoznanie a obídenie najčastejších pascí na časové pečiatky, ktoré som za tie roky videl.
Zámena sekúnd a milisekúnd
Zďaleka najčastejšia chyba je zámena sekúnd s milisekundami. Štandardná unixová časová pečiatka je 10-ciferné celé číslo predstavujúce počet sekúnd od epochy. Ale mnohé systémy, najmä vo svete JavaScriptu, pracujú s 13-cifernou časovou pečiatkou pre milisekundy. Keď front-endová aplikácia odovzdá hodnotu milisekúnd back-endu, ktorý očakáva sekundy, veci sa pokazia.
Pre unix timestamp convertor ten 13-miestny číslo vyzerá ako dátum tisícky rokov v budúcnosti. Toto môže potichu narušiť validáciu dát, plánovaciu logiku a akékoľvek historické záznamy, ktoré sa snažíte viesť. Je to druh nenápadnej korekcie dát, ktorú si nemusíte všimnúť ani týždne.
Časová pasc_
Ďalšia pasc, ktorá postihuje aj skúsených vývojárov, je spracovanie časových pásiem. Zo svojej podstate je Unix timestamp vždy v koordinovanom svetovom čase (UTC). Predstavuje jeden, univerzálny okamih v čase, úplne nezávislý od miesta. Pasca sa aktivuje, keď na to zabudnete a predpokladáte, že timestamp odráža lokálny čas užívateľa.
Táto chyba sa zvyčajne stane, keď konvertujete timestamp na čitateľný dátum bez špecifikovania časového pásma. Váš systém často štandardne použije lokálny čas servera, čo vedie k chaosu. Používateľ v New Yorku môže vidieť čas určený niekomu v Londýne, ale je o niekoľko hodín posunutý.
Zlaté pravidlo je jednoduché: vždy považujte timestampy vo vašom backend-e za UTC. Ukladajte ich ako UTC, spracovávajte ich ako UTC a prevádzajte na lokálny čas užívateľa iba na front-end-e, priamo v momente zobrazenia.
Riešenie bežných chýb pri konverzii timestampov
Keď sa niečo pokazí, príznaky môžu byť mätúce. Tu je rýchla referenčná tabuľka, ktorú som zostavil na základe skúseností, aby som vám pomohol diagnostikovať a opraviť najčastejšie problémy priamo na mieste.
| Príznak | Pravdepodobná príčina | Riešenie |
|---|---|---|
| Dátum je v roku 52361 alebo nejakom inom vzdialenom budúcom roku. | Milisekundy vs. Sekundy. Odovzdávate 13-miestny timestamp v milisekundách funkcii, ktorá očakáva 10-miestny timestamp v sekundách. | Pred spracovaním vydeľte timestamp číslom 1000. Vždy overujte počet číslic prichádzajúcich timestampov. |
| Čas je posunutý o niekoľko hodín, ale dátum je správny. | Nesprávne spracovanie časového pásma. Timestamp bol skonvertovaný pomocou lokálneho času servera namiesto času užívateľa alebo UTC. | Uistite sa, že všetky konverzie explicitne špecifikujú cieľové časové pásmo. Na lokálny čas konvertujte iba na klientskej strane. |
| Dátum je zaseknutý na 1. januári 1970. | Neplatný alebo nulový timestamp. Hodnota timestampu je pravdepodobne 0, null alebo undefined. |
Pridajte kontrolu, aby ste sa uistili, že timestamp je platné pozitívne celé číslo, pred pokusom o konverziu. Poskytnite záložnú hodnotu. |
Získavate "Neplatný dátum" alebo NaN chybu. |
Nesprávny typ údajov. Timestamp je spracovaný ako reťazec alebo iný necíselný typ, keď je požadované číslo. | Explicitne preveďte timestamp na celé číslo (parseInt() v JS, int() v Python) pred použitím v dátumových funkciách. |
Pamätajte, rýchla kontrola vstupu vám môže ušetriť hodiny ladenia v budúcnosti.
Ako sa vyhnúť nejasnostiam pomocou štandardných formátov
Spoliehanie sa na surové celočíselné timestampy pri prenose údajov medzi systémami môže byť receptom na zmätok. Preto je štandardizácia na univerzálny reťazcový formát, ako je ISO 8601 (2022-05-17T12:00:00Z) takým skvelým obranným krokom. Konvertovanie Unix timestampov (napr., 1652905200) na jasný, samodokumentujúci formát, ako je tento, pomáha predchádzať chybám v odhadovanom 37% cezčasových pásiem API volaní.
Vzhľadom na to, že 72% spoločností z rebríčka Fortune 500 používa Unix timestampy na analýzu záznamov, kde jediná chyba môže stáť viac ako $10,000 za hodinu prestojov, presnosť je všetko. Viac o tom, ako sa epoch time používa v rôznych odvetviach, si môžete prečítať na EpochConverter.
Pre tých, ktorí spravujú databázy, konzistentné spracovanie timestampov je rovnako dôležité. Ak sa často potýkate s rôznymi formátmi timestampov vo svojej databáze, naša príručka o používaní silného SQL formátovača vám môže pomôcť udržiavať vaše dotazy čisté a predvídateľné.
Tento rozhodovací strom vám pomôže vybrať správny príkaz pre váš operačný systém, aby ste predišli chybám syntaxe, keď potrebujete rýchlu konverziu.

Uvedený vývojový diagram jasne ukazuje zásadný syntaktický rozdiel medzi príkazom date na Linuxe (-d @...) a macOS (-r ...) – bežná pasci pre vývojárov pracujúcich v rôznych prostrediach.
Aby bola vaša kód robustná, vždy implementujte kontroly na overenie dĺžky prichádzajúcej časovej pečiatky. Jednoduchá funkcia, ktorá kontroluje 10-cifernú (sekundy) alebo 13-cifernú (milisekundy) hodnotu, môže zachytiť tieto chyby skôr, než vôbec otrávia logiku vašej aplikácie.
Časté otázky o unixových časových pečiatkach
Keď pochopíte unixové časové pečiatky, takmer vždy sa vynoria niektoré praktické otázky. Videl som, ako potrápia vývojárov všetkých úrovní, takže si objasníme tie najčastejšie, s ktorými sa vo svojej dennej práci stretnete.
Prečo toľko API používa časové pečiatky namiesto reťazcov ISO 8601?
Všetko sa naozaj znižuje na čistú efektivitu. Unixová časová pečiatka je len jedno číslo, vďaka čomu je neuveriteľne kompaktná v porovnaní s reťazcom ako ‚2023-10-27T10:00:00Z‘. Tá menšia veľkosť znamená menej údajov na odoslanie cez sieť, čo šetrí šírku pásma a môže urýchliť odpovede API.
Sú tiež úplne nezávislé od jazyka. Nie je v nich žiadna nejednoznačnosť, žiadne zvláštnosti parsingu a netreba sa starať o regionálne formáty. Pre stroj je počítanie čísel vždy rýchlejšie ako parsovanie reťazcov, takže akékoľvek dátové výpočty – ako zistenie času medzi dvoma udalosťami – sú výpočtovo lacnejšie. Pre vysoko výkonné systémy je táto jednoduchosť veľkou výhrou.
Aký je správny spôsob, ako zvládať časové pásma?
Toto je tá hlavná. Tu je zlaté pravidlo: Unixová časová pečiatka je vždy, vždy v UTC. Nemá v sebe zabudovaný žiadny koncept časového pásma. Je to len surový počet sekúnd od epochy.
Časové pásma sú dôležité len vtedy, keď potrebujete zobraziť túto časovú pečiatku človeku.
Moja rada? Držte sa UTC pre všetko na backendi. Ukladajte ju do databázy ako UTC časovú pečiatku, posielajte ju cez vaše API v UTC a vykonávajte všetku serverovú logiku v UTC. Jediný čas, keď by ste ju mali previesť do miestneho časového pásma, je na front-endi, tesne predtým, než ju zobrazíte používateľovi. Tento jeden postup vás uchráni pred celým vesmírom chýb súvisiacich s časovým pásmom a letným časom.
Mám sa ešte starať o problém roku 2038?
Pre väčšinu nových projektov pravdepodobne nie. „Problém roku 2038“ je pozostatok zo starších systémov, ktoré na ukladanie časovej pečiatky používali 32-bitové celé číslo so znamienkom. Keď toto číslo narastie príliš, pretečie a stane sa záporným, čím posunie dátumy späť do roku 1901.
Našťastie, takmer všetky moderné systémy – od operačných systémov po databázy – už dávno prešli na 64-bitové celé čísla. Tým sa tento problém v podstate odkladá tak ďaleko do budúcnosti (vlastne miliardy rokov), že pre nás už nie je praktickým problémom.
To však neznamená, že ak udržiavate starší systém alebo pracujete s vstavaným hardvérom (napr. zariadenia IoT), nemali by ste o tom vedieť. Vždy vedzte, na akej architektúre staviate.
Ako môžem rýchlo previesť časovú pečiatku v Exceli alebo Google Sheets?
Na to nemusíte svoje údaje vyťahovať do samostatného prevádzača unixových časových pečiatok. Postačí jednoduchý vzorec. Predpokladajme, že vaša časová pečiatka je v bunke A1:
- Pre časové pečiatky v sekundách (10 číslic):
=A1 / 86400 + DATE(1970,1,1) - Pre časové pečiatky v milisekundách (13 číslic):
=A1 / 86400000 + DATE(1970,1,1)
Jednoducho vložte tento vzorec a potom bunku naformátujte ako „Dátum“ alebo „Dátum a čas“. Je to záchrana, keď rýchlo analyzujete exporty údajov a nechcete prerušiť svoj tok práce.
Unavuje vás neustále prepínanie medzi editorom, príkazovým riadkom a tuctom kariet prehliadača pre jednoduché úlohy? Súprava ShiftShift Extensions zahŕňa výkonný prevádzač unixových časových pečiatok, formátovač JSON, skrášľovač SQL a ďalšie nástroje priamo vo vašom prehliadači. Všetko, čo potrebujete, je len na dosah klávesovej skratky.