Izikhathi ze-Unix Ngaphandle Kobunzima
Buza abathuthukisi abathathu ukuthi yisikhathi sini futhi ungase uthole izimpendulo ezintathu, kuya ngokuthi bahlala kuphi. Buza isikhathi se-Unix futhi uthole kanye inombolo eyodwa, efanayo kubo bonke emhlabeni. Leyo nombolo eyodwa yisizathu sokuthi kungani isikhathi se-epoch sisekele cishe wonke amafayela wombiko, imigqa yedathabheyisi, kanye nezimpendulo ze-API oyoke wathinta. Leli khasi lichaza ukuthi leyo nombolo isho ukuthini, indlela yokuyifunda ngazo zombili izindlela, kanye nalapho ivame ukudida abantu khona.

Yini ngempela isikhathi se-Unix
Isikhathi se-Unix yinombolo yamasekhondi asedlule kusukela ngo-00:00:00 UTC ngomhla ka-1 kuMasingana 1970, ngaphandle kokubala amasekhondi e-leap. Lowo mzuzu ubizwa nge-epoch, futhi wakhethwa ngonjiniyela wokuqala be-Unix ngoba nje kwakuwusuku olulula ukubalela kulo. Ku-epoch inani lilingana nge-0 ngokuqondile. Isekhondi ngayinye kusukela lapho iyengeza eyodwa, ngakho inombolo iyakhula kuphela. Izinsuku ezingaphambi kuka-1970 zivumelekile futhi, zibhalwa njengezinombolo ezi-negative.
Uzobuye ubone lo mqondo ubizwa nge-POSIX time noma, ngokungajwayelekile, i-epoch time. Noma yiliphi igama, indlela isebenza ngayo iyafana: isibali esisodwa esikhulayo njalo samasekhondi. Ngoba yinombolo eqondile hhayi uhlamvu oluhleliwe, ikhompuyutha ingayigcina emabytes ambalwa futhi iqhathanise ezimbili ngokususa okulodwa.
Amasekhondi, ama-millisecond, kanye nabangane babo
Isikhathi se-Unix esejwayelekile sibala amasekhondi agcwele, okunikeza inombolo edume kakhulu enamadijithi ayishumi oyibona namuhla. Kodwa izindawo eziningi zidinga ukucaca okuncane. I-JavaScript, isibonelo, isebenza ngama-millisecond, ikhiqiza inani elinamadijithi ayishumi nantathu, kanti ezinye izinhlelo ziya kude kuya kuma-microsecond noma ama-nanosecond. Umthetho olula wokusiza: inombolo enamadijithi ayishumi ingamasekhondi, eyamadijithi ayishumi nantathu ingama-millisecond. Uma usuku olusuguqulwe lifika cishe ngo-1970 wawulindele namuhla, cishe uphonse ama-millisecond ensimini yamasekhondi, noma ngokuphambene. Umguquli wethu uthola ubukhulu ngokuzenzakalela ngakho awuvame ukuqagela.
Kungani abathuthukisi bethembela kusona
Impumelelo enkulu ukuthi isikhathi asincike endaweni yesikhathi. Inombolo ecinene i-1735689600 ikhomba umzuzu ofanayo eTokyo, eBerlin, naseSão Paulo. Ukugcina leyo nombolo esikhundleni sohlamvu oluhleliwe lwendawo kusho ukuthi awulokothi uzibuze ukuthi imali iphathelene nawuphi iwashi. Ukuhlelwa nakho kulula, ngoba uhlelo lwesikhathi lwuhlelo lwenombolo nje, ngakho isalulekisi sedathabheyisi ngaphezu kwekholomu yesikhathi sihlela izehlakalo ngendlela eqondile ngaphandle kokuhlaziya. Ukubala nakho kucacile ngokufanayo: isikhala phakathi kwezehlakalo ezimbili ukususa okulodwa, kanti ukwengeza usuku kungukwengeza 86400. Lezi zici yizona kanye ezenza imibiko, amathokheni, ama-cache, kanye ne-message queues konke kwenele kusikhathi se-epoch.
Ukuguqula ngazo zombili izindlela
Ukusuka esikhathini uye osukwini lomuntu kusho ukuthatha ukubala kwamasekhondi ukubeke ekhalendeni, bese uyihlela ngesikhathi ofuna sona. Ukuya ngakolunye uhlangothi, uthatha unyaka, inyanga, usuku, kanye nesikhathi, unqume ukuthi yisiphi isikhathi esibalulwa kuso, bese uyibuyisela emuva ibe amasekhondi kusukela ku-epoch. Ithuluzi lethu lenza kokubili ngqo futhi ngokuphelele ngaphakathi kwesiphequluli sakho, ngakho akukho lutho olunamathiselayo oluphuma emshinini wakho. Namathisela inombolo ukuyihumusha, noma khetha usuku ukulubhala, bese ufunda umphumela ngokubili ngo-UTC nangesikhathi sendawo ngomzuzu ofanayo.

I-UTC kanye nesikhathi sendawo, umgibe odumile
Isikhathi ngokwaso asinasikhathi sendawo; sihlala sibophezelwe ku-UTC. Ukudideka kuvela kuphela uma usikhombisa. Uma uguqula i-1700000000 futhi isikrini sakho sikhombisa ihora lakusihlwa kanti umsebenzi wakho kwelinye izwe ubona ihora lasemini, akukho lutho olwephukile, nobabili nibheka umzuzu ofanayo owenziwe emawasheni ehlukene endawo. Amaphutha avela lapho ikhodi ifunda usuku lwendawo njengokungathi luwu-UTC, noma isticmpa isikhathi sewashi ngaphandle kokubhala umehluko. Umkhuba ophephile ukugcina nokudlulisa i-UTC, futhi usebenzise umehluko wendawo emzuzwini wokugcina kuphela, uma ukhombisa inani lakho kumuntu. Uma ungaqiniseki, qhathanisa nomugqa we-UTC esikhundleni sowakho wendawo.
Inkinga ka-2038
Izinhlelo eziningi ezindala zagcina isikhathi se-Unix kunombolo eqondile ye-32-bit. Leyo nsimu iyaphela isikhathi isekhondi eyodwa ngemva kuka-03:14:07 UTC ngomhla ka-19 kuJanuwari 2038, lapho isibali siphuphuma futhi siphenduke inombolo ye-negative, kungenzeka kuphonse izinsuku emuva kuya ku-1901. Kuwuhlobo olufanayo lwenkinga njenge-Y2K. Izindaba ezinhle ukuthi izinhlelo zokusebenza namalimu wanamuhla asudlulele ezikhathini ze-64-bit, ezingeke ziphuphume iminyaka engaba yizigidi eziyi-292, ngakho kwikhodi entsha kuyinto yomlando engaphuthumi.
Kwamanye amathuluzi asekelwe esiphequluli, bheka amanye ama-thuluzi omthuthukisi, futhi uma udinga ukusebenzisa izinombolo ngokwazo, i-zibali zisekhona ngokuchofoza kanye.
Imibuzo evame ukubuzwa
Yini isikhathi se-Unix?
Yinombolo yamasekhondi asedlule kusukela ngo-00:00:00 UTC ngomhla ka-1 kuMasingana 1970, ngaphandle kokubala amasekhondi e-leap. Lowo mzuzu wokuqala ubizwa nge-epoch, futhi ukubala kuyanda kuphela ngokuhamba kwesikhathi.
Kungani inombolo yami iguqulela osukwini oluseduze no-1970?
Cishe uxube amasekhondi nama-millisecond. Inombolo enamadijithi ayishumi ingamasekhondi kanti eyamadijithi ayishumi nantathu ingama-millisecond. Ukufaka ama-millisecond ensimini yamasekhondi kwehlisa isikhathi esibonakalayo cishe ngesigidi, kukubeka eduze ne-epoch.
Ingabe isikhathi se-Unix sinesikhathi sendawo?
Cha. Inani lihlala libophezelwe ku-UTC. Isikhathi sendawo singena kuphela uma ukhombisa isikhathi njengosuku olufundeka umuntu, yingakho inombolo efanayo ingakhombisa amahora amawashi ehlukene kubantu abahlukene.
Ngiyiguqula kanjani usuku lubuyele isikhathi?
Nikeza unyaka, inyanga, usuku, kanye nesikhathi, unqume ukuthi yisiphi isikhathi sendawo lelo suku libalulwa kuso, futhi ithuluzi liyibuyisela ibe amasekhondi kusukela ku-epoch. Ungenza kokubili ngezindlela ekhasini ngqo esipheqululini sakho.
Yini inkinga ka-2038?
Izinhlelo ezigcina isikhathi se-Unix kunombolo eqondile ye-32-bit ziphuphuma isekhondi eyodwa ngemva kuka-03:14:07 UTC ngomhla ka-19 kuJanuwari 2038. Izikhathi ze-64-bit zanamuhla zigwema lokhu iminyaka engaba yizigidi eziyi-292, ngakho iningi lezinhlelo zamanje azithintekile.
Ingabe idatha yami ithunyelwa eseva?
Cha. Ukuguqulwa kwenzeka ngokuphelele ngaphakathi kwesiphequluli sakho, ngakho noma yisiphi isikhathi noma usuku owunamathiselayo luhlala kudivayisi yakho.
