Konvertues timestamp Unix
Konverto timestamp-e Unix në sekonda ose milisekonda në data të lexueshme në orën lokale, UTC dhe ISO 8601, dhe ktheje çdo datë në kohë epoch.
Timestamp → datë
- Ora lokale
- –
- UTC
- –
- ISO 8601
- –
Datë → timestamp
- Sekonda
- –
- Milisekonda
- –
Si ta përdorësh konvertuesin e timestamp-it Unix
- Për të konvertuar një timestamp në datë, ngjit një vlerë epoch si
1700000000ose1700000000000. Mjeti zbulon nga madhësia nëse është në sekonda apo në milisekonda. - Lexo rezultatin në zonën tënde kohore lokale, në UTC dhe në formatin ISO 8601.
- Për të bërë të kundërtën, shkruaj një datë dhe orë; mjeti kthen vlerën epoch përkatëse si në sekonda ashtu edhe në milisekonda.
- Hidh një sy te timestamp-i aktual në krye, që përditësohet live, kurdo që të të duhet “tani” si vlerë epoch.
Çfarë është një timestamp Unix?
Një timestamp Unix, i quajtur edhe kohë epoch ose kohë POSIX, është numri i sekondave që kanë kaluar që nga epoka Unix: 1 janari 1970 në ora 00:00:00 UTC. Për shembull, 1700000000 korrespondon me 14 nëntor 2023 në orën 22:13:20 UTC. Datat para vitit 1970 paraqiten me numra negativë.
Timestamp-et janë të njohur te zhvilluesit sepse janë një numër i vetëm që nuk varet nga zonat kohore, ora verore ose formatet e datës. Krahasimi i dy çastëve është një zbritje e thjeshtë, dhe renditja sipas kohës është një renditje e thjeshtë numerike. I gjen në baza të dhënash, skedarë log, përgjigje API, pretendime JWT si exp e iat, metadata skedarësh dhe planifikues të tipit cron.
Vëre që koha Unix i shpërfill sekondat e brishta (leap seconds): çdo ditë llogaritet saktësisht 86 400 sekonda. Kjo e mban aritmetikën të thjeshtë dhe është arsyeja pse një timestamp nuk është një numërim i rreptë i çdo sekonde fizike që nga 1970.
Sekonda kundrejt milisekondave
Burimi më i shpeshtë i ngatërresave është njësia. Sistemet tradicionale Unix, PHP, time.time() i Python-it dhe shumica e bazave të të dhënave përdorin sekonda, që sot jep një numër me 10 shifra. Date.now() i JavaScript, System.currentTimeMillis() i Java-s dhe shumë API JSON përdorin milisekonda, që jep një numër me 13 shifra. Nëse i interpreton milisekondat si sekonda, përfundon dhjetëra mijëra vjet në të ardhmen; nëse i interpreton sekondat si milisekonda, përfundon në janar 1970. Ky mjet shikon madhësinë e numrit për të zgjedhur automatikisht njësinë e duhur, dhe kur konverton një datë i tregon të dyja vlerat që të kopjosh atë që pret sistemi yt.
Ora lokale, UTC dhe ISO 8601
Një timestamp identifikon një çast të saktë, por ai çast shfaqet ndryshe sipas zonës kohore. Rezultati lokal përdor zonën kohore të konfiguruar në pajisjen tënde, ndërsa UTC është referenca universale që përdorin serverët dhe log-et. ISO 8601, si 2023-11-14T22:13:20.000Z, është formati tekst pa dykuptimësi që rekomandohet për shkëmbimin e datave mes sistemeve; Z në fund do të thotë UTC.
Problemi i vitit 2038
Shumë sisteme të vjetra e ruajnë kohën Unix si një numër të plotë 32-bitësh me shenjë, vlera maksimale e të cilit është 2 147 483 647. Ai kufi arrihet më 19 janar 2038 në orën 03:14:07 UTC. Një sekondë më vonë, një numërues i tillë bën overflow në një numër të madh negativ dhe lexohet si datë në dhjetor 1901. Sistemet operative, bazat e të dhënave dhe gjuhët moderne kanë kaluar kryesisht te vlera kohe 64-bitëshe, që e shtyjnë kufirin miliarda vjet në të ardhmen, por pajisjet e ngulitura, formatet e vjetra të skedarëve dhe kolonat e vjetra të bazave mund të preken ende. Vetë JavaScript nuk preket, sepse e ruan kohën si milisekonda në një numër 64-bitësh me presje lundruese.
Privatësia
Të gjitha konvertimet ndodhin në shfletuesin tënd me funksionet e tij të brendshme të datës. Asnjë timestamp ose datë nuk dërgohet te një server.
Pyetje të shpeshta
Si e di nëse timestamp-i im është në sekonda apo milisekonda?
Numëro shifrat. Një datë e sotme ka 10 shifra në sekonda dhe 13 shifra në milisekonda. Mjeti aplikon automatikisht të njëjtën logjikë, bazuar në madhësinë e numrit.
Pse ora lokale ndryshon nga UTC?
Të dyja përshkruajnë të njëjtin çast. Ora lokale aplikon zhvendosjen e zonës kohore të pajisjes sate dhe rregullat e orës verore, ndërsa UTC nuk ka zhvendosje. Nëse ndan një kohë me njerëz në vende të tjera, UTC ose ISO 8601 shmang keqkuptimet.
A mund të jetë negativ një timestamp Unix?
Po. Vlerat negative paraqesin çaste para 1 janarit 1970 UTC. Për shembull, -86400 është 31 dhjetor 1969 në orën 00:00:00 UTC.
A përmban një timestamp Unix zonë kohore?
Jo. Një timestamp është gjithmonë në lidhje me UTC dhe nuk mbart informacion zone kohore. Zona kohore ka rëndësi vetëm kur e shfaq si datë dhe orë kalendarike.
A do të prishen sistemet e mia në 2038?
Vetëm nëse e ruajnë kohën në një numër të plotë 32-bitësh me shenjë. Kontrollo bazat e vjetra të të dhënave, firmuerin e pajisjeve të ngulitura dhe formatet binare të skedarëve. Gjithçka që përdor kohë 64-bitëshe është e sigurt për të ardhmen e parashikueshme.
Mjete të ngjashme
- Gjenerues UUID Gjenerues falas UUID për versionet 4 dhe 7. Krijo deri në 1 000 njëherësh, me shkronja të mëdha ose pa viza, pastaj kopjo ose shkarko si .txt.
- Formatuesi dhe vlerësuesi i JSON Formatues dhe vlerësues JSON falas që bukuron, minifikon dhe kontrollon JSON në shfletuesin tënd, me gabimet e sintaksës sipas rreshtit dhe kolonës.