Konvertuesi i Kohës Epoch
Konvertoni vulat kohore Unix në data UTC ose ktheni një datë në sekonda epoch.
Si të përdorni këtë konvertues të kohës epoch
- Zgjidhni mënyrën e konvertimit
Zgjidhni "Epoch në datë" ose "Datë në epoch" në fushën "Mënyra e konvertimit".
- Për epoch në datë
Vendosni timestamp-in Unix në sekonda në fushën "Timestamp Epoch (sekonda)".
- Për datë në epoch
Zgjidhni datën në "Data e kalendarit", pastaj vendosni Orën (UTC), Minutën (UTC) dhe Sekondën (UTC) sipas nevojës.
- Lexoni rezultatin
Llogaritësi tregon vlerën UTC, milisekondat Unix dhe ditën e javës.
Si funksionon ky konvertues i kohës epoch
Ky konvertues i kohës epoch përkthen midis vlerave kohore Unix (timestamps) dhe datave UTC të lexueshme nga njeriu. Koha Unix — e quajtur edhe koha POSIX ose koha epoch — numëron sekondat që kanë kaluar që nga epoka Unix, e përcaktuar si mesnata UTC e 1 janarit 1970 (1970-01-01T00:00:00Z). Ky përfaqësim me një numër të plotë është standardi de-facto për ruajtjen dhe transmetimin e vlerave kohore në databaza, API, skedarë log, tokena JWT dhe pothuajse në çdo gjuhë moderne programimi. Konvertuesi trajton të dyja drejtimet: vendosja e një vlere kohore numerike kthen datën përkatëse UTC, ditën e javës dhe ekuivalentin në milisekonda, ndërsa vendosja e një date dhe kohe kalendarike kthen vlerën epoch në sekonda dhe milisekonda.
Koha Unix = sekonda të kaluara që nga 1970-01-01T00:00:00Z Për të konvertuar timestamp-in Unix 1,700,000,000 në një datë: duke filluar nga 1970-01-01 00:00:00 UTC, shtoni 1,700,000,000 sekonda. Kjo është e barabartë me 19,675 ditë, 17 orë, 46 minuta dhe 40 sekonda. Data rezultuese UTC është 2023-11-14 në orën 22:13:20 UTC, e cila bie ditë e martë. Ekuivalenti në milisekonda është 1,700,000,000,000. Anasjelltas, vendosja e datës 14 nëntor 2023 në orën 22:13:20 UTC kthen një vlerë epoke saktësisht 1,700,000,000.
Vula kohore 0 konvertohet në 1970-01-01 00:00:00 UTC (e enjte). Ekuivalenti në milisekonda është 0.
Vula kohore 1,704,000,000 konvertohet në 2023-12-31 12:00:00 UTC (e diel). Vendosja e asaj date dhe kohe në modalitetin "Data në epokë" kthen 1,704,000,000.
- ✓ Të gjitha llogaritjet janë në UTC. Konvertimet në kohën lokale kërkojnë aplikimin e zhvendosjes përkatëse të zonës kohore pas konvertimit.
- ✓ Sekondat e brishta nuk numërohen. Ashtu si POSIX, ky konvertues e trajton çdo ditë si saktësisht 86,400 sekonda, gjë që përputhet me sjelljen e shumicës së gjuhëve të programimit dhe sistemeve operative.
- ✓ Vulat kohore negative përfaqësojnë datat para epokës (1 janar 1970). Për shembull, −86400 korrespondon me 31 dhjetor 1969.
- ✓ Vulat kohore në milisekonda duhet të pjesëtohen me 1,000 para futjes; konvertuesi pranon sekondat si hyrje dhe shfaq ekuivalentin në milisekonda në rezultate.
- Date.now() i JavaScript dhe System.currentTimeMillis() i Java kthejnë milisekonda, jo sekonda — pjesëtojeni me 1,000 përpara se të vendosni vlerën këtu, ose përdorni rezultatin në milisekonda për krahasim.
- Problemi i vitit 2038 prek timestamp-et me numra të plotë 32-bit me shenjë, të cilët do të tejmbushen më 19 janar 2038 në orën 03:14:07 UTC. Shumica e sistemeve moderne kanë kaluar në timestamp-e 64-bit.
- Gjatë korrigjimit të gabimeve (debugging) në përgjigjet e API-ve ose skedarët e log-eve, kini kujdes për timestamp-et që duken të pasakta me saktësisht 3,600 ose 7,200 sekonda — kjo zakonisht tregon se një zhvendosje e zonës kohore është aplikuar (ose harruar) diku në proces.
- Koha e epokës është gjithmonë në rritje monotone (duke injoruar rregullimet e sekondave të brishta), gjë që e bën atë ideale për renditjen e ngjarjeve, llogaritjen e kohëzgjatjeve dhe gjenerimin e identifikuesve unikë bazuar në kohë.
- IEEE Std 1003.1 (POSIX) — përkufizimi i Sekondave Që nga Epoka
- Origjina e epokës Unix — Dokumentacioni i The Unix Heritage Society dhe Bell Labs
- RFC 3339 — Data dhe Koha në Internet: Timestamp-et
Çfarë janë vulat kohore Unix?
Një vulë kohore Unix është numri i sekondave të kaluara që nga mesnata UTC e 1 janarit 1970 — epoka Unix. Ky numër i plotë i vetëm është standardi de-facto për përfaqësimin e kohës në bazat e të dhënave, API-të, skedarët e regjistrit dhe shumicën e gjuhëve të programimit. Pasi është i pavarur nga zona kohore dhe rritet në mënyrë monotone, ai thjeshton renditjen, llogaritjet e kohëzgjatjes dhe krahasimet e bazuara në kohë. Date.now() i JavaScript dhe shumë API kthejnë milisekonda (1,000 × sekonda), kështu që pjesëtojeni me 1,000 përpara se të vendosni një vlerë milisekondash këtu. Vulat kohore negative përfaqësojnë data para vitit 1970; për shembull, −86400 është saktësisht një ditë para epokës.
Rastet e përdorimit nga zhvilluesit për kohën e epokës
Zhvilluesit përdorin vulat kohore Unix kur ruajnë kohët e ngjarjeve në bazat e të dhënave, serializojnë datat në API-të JSON, gjenerojnë çelësa kashi të bazuar në kohë dhe korrigjojnë regjistrat. Kolonat e bazës së të dhënave shpesh ruajnë vulat kohore si numra të plotë për indeksim efikas dhe kërkime vargjesh. Përgjigjet e API-ve shpesh kthejnë sekonda ose milisekonda të epokës për të shmangur paqartësinë e zonës kohore. Gjatë korrigjimit, konvertimi i një vule kohore të papërpunuar nga një regjistër ose pretendim JWT në një datë të lexueshme nga njeriu zbulon shpejt nëse vlera është e saktë ose e zhvendosur nga një faktor i zonës kohore. Koha e epokës përdoret gjithashtu për kufizimin e shpejtësisë, skadimin e sesionit dhe gjenerimin e identifikuesve unikë të renditshëm në sistemet e shpërndara.
Pyetjet e shpeshta (FAQ) për konvertuesin e kohës Unix
Çfarë është epoka Unix?
Epoka Unix është pika e referencës nga e cila matet koha Unix: mesnata UTC e 1 janarit 1970 (1970-01-01T00:00:00Z). Një timestamp prej 0 korrespondon me atë moment të saktë.
Pse timestamp-i im në JavaScript ka më shumë shifra?
Date.now() i JavaScript kthen milisekonda që nga epoka, jo sekonda. Pjesëtojeni me 1,000 për ta konvertuar në formatin e bazuar në sekonda që përdor ky mjet, ose krahasojeni drejtpërdrejt me rezultatin në milisekonda.
A mund të vendos një timestamp negativ?
Po. Vlerat negative përfaqësojnë data para epokës. Për shembull, −86400 korrespondon me 1969-12-31T00:00:00Z, saktësisht një ditë para epokës.
A i trajton kjo sekondat e brishta?
Jo, dhe kjo përputhet me standardin POSIX. Koha POSIX supozon se çdo ditë ka saktësisht 86,400 sekonda. 27 sekondat e brishta të shtuara që nga viti 1972 nuk përfaqësohen individualisht, që do të thotë se UTC dhe koha Unix mund të ndryshojnë deri në një sekondë në kufijtë e sekondave të brishta.
Çfarë është problemi i vitit 2038?
Sistemet që ruajnë kohën Unix si një numër i plotë 32-bit me shenjë do të tejmbushen më 19 janar 2038 në orën 03:14:07 UTC, duke kaluar në një numër negativ të madh dhe duke prodhuar data në vitin 1901. Shumica e platformave moderne tani përdorin timestamp 64-bit, të cilët nuk do të tejmbushen për mbi 290 miliardë vjet.