Mafungiro eVagadziri vepurogiramu Nezve Unix Nguva

Ndinokumbira ruregerero Patrick McKenzie.

Nhasi Danny Ndakabvunza nezve zvimwe zvinonakidza chokwadi nezve Unix nguva, uye ndakarangarira kuti dzimwe nguva inoshanda zvachose unintuitively.

Zvinhu zvitatu izvi zvinoita sezvine musoro uye zvine musoro, handizvo here?

  1. Unix nguva ndiyo nhamba yemasekonzi kubva muna Ndira 1, 1970 00:00:00 UTC.
  2. Kana iwe ukamirira sekondi imwe chete, iyo Unix nguva ichachinja nesekondi imwe chete.
  3. Unix nguva haimbodzokera kumashure.

Hapana chimwe cheizvi chiri chokwadi.

Asi hazvina kukwana kungotaura kuti, β€œHapana chimwe cheizvi chiri chokwadi,” pasina kutsanangura. nei. Ona pazasi kuti uwane tsananguro. Asi kana uchida kuzvifungira, usapfuura nepamufananidzo wewachi!

Mafungiro eVagadziri vepurogiramu Nezve Unix Nguva
Tafura wachi kubva kuma1770s. Yakagadzirwa naJohn Leroux. Kubva Wakanaka kuunganidzwa. Rakadhindwa pasi perezinesi CC BY

Zvose zvitatu zvisiri izvo zvine chikonzero chimwe: svetuka masekondi. Kana usiri kujairana nemasekonzi ekusvetuka, heino chirevo chekukurumidza:

UTC nguva inotarwa nezvinhu zviviri:

  • International Atomic Nguva: Avhareji yekuverenga kubva kumazana emawachi emaatomu pasi rese. Tinogona kuyera chechipiri nemaitiro emagetsi eatomu, uye ichi ndicho chiyero chakanyatsojeka chenguva chinozivikanwa nesainzi.
  • Nguva yeNyika, zvichibva pakutenderera kweNyika kutenderedza axis yayo pachayo. Chimwe chimurenga chakazara izuva rimwe.

Dambudziko nderekuti nhamba mbiri idzi hadziwanzoenderana. Kutenderera kwePasi hakuenderane - inononoka zvishoma nezvishoma, saka mazuva ari muNguva Yese anove akareba. Ukuwo, wachi dzeatomu dzakarurama sadhiyabhorosi uye dzinogara dziripo kwemamiriyoni emakore.

Kana kaviri dzikadonha mukuwiriranisa, yechipiri inowedzerwa kana kubviswa kubva kuUTC kuti idzose mukuyananisa. Kubva 1972 service IERS (iyo inomhanya iyi kesi) yakawedzera 27 mamwe masekonzi. Mhedzisiro yacho yaive mazuva makumi maviri nemanomwe eUTC aine nguva ye27 masekonzi. Zvichitaurwa, zuva rine nguva yemasekonzi 86 (kubvisa rimwe) rinogoneka. Sarudzo dzese dziri mbiri dzinopokana nefungidziro yakakosha yenguva yeUnix.

Unix nguva inofungidzira kuti zuva rega rega rinotora masekonzi 86 chaiwo (400 Γ— 60 Γ— 60 = 24), pasina mamwe masekonzi. Kana kusvetuka kwakadaro kukaitika, ipapo Unix nguva inosvetuka sekondi imwe, kana kuverenga masekondi maviri mune imwe. Kubva muna 86, iri kushaikwa 400 leap seconds.

Saka maonero edu asiri iwo anofanirwa kuwedzeredzwa sezvinotevera:

  • Unix nguva ndiyo nhamba yemasekondi kubva muna Ndira 1, 1970 00:00:00 UTC minus leap seconds.
  • Kana iwe ukamirira sekondi imwe chete, Unix nguva ichachinja nesekondi imwe chete, kunze kwekunge kusvetuka kwechipiri kwabviswa.

    Kusvikira ikozvino, masekondi haana kumbobviswa mukuita (uye kunonoka kwekutenderera kwePasi kunoreva kuti izvi hazvibviri), asi kana zvakamboitika, zvinoreva kuti zuva reUTC richava sekondi imwe pfupi. Muchiitiko ichi, yechipiri yekupedzisira yeUTC (23:59:59) inoraswa.

    Zuva rega rega reUnix rine nhamba yakafanana yemasekonzi, saka iyo yekupedzisira Unix yechipiri yezuva rakapfupikiswa haienderane nechero UTC nguva. Hezvino zvazvinotaridzika, mumakota-second intervals:

    Mafungiro eVagadziri vepurogiramu Nezve Unix Nguva

    Kana iwe ukatanga na23:59:58:00 UTC uye kumirira imwe sekondi, Unix nguva inosimudzira maviri UTC masekondi uye Unix 101 timestamp haizopihwe chero munhu.

  • Unix nguva haigone kudzokera kumashure, kusvika sekondi yekusvetuka yawedzerwa.

    Izvi zvakatoitika ka27 mukuita. Pakupera kwezuva reUTC, imwe yechipiri inowedzerwa pa23:59:60. Unix ine nhamba yakafanana yemasekonzi pazuva, saka haigone kuwedzera imwe yechipiri - panzvimbo iyo inofanirwa kudzokorora Unix timestamps kwesekondi yekupedzisira. Hezvino zvazvinotaridzika, mumakota-second intervals:

    Mafungiro eVagadziri vepurogiramu Nezve Unix Nguva

    Kana iwe ukatanga na23:59:60.50 uye kumirira hafu yechipiri, iyo Unix nguva anodzoka nehafu yechipiri, uye Unix 101 timestamp inoenderana nemasekondi maviri eUTC.

Izvi zvimwe hazvisi izvo chete zvisinganzwisisike zveUnix nguva - izvo zvandakarangarira nezuro.

Nguva - chaizvo chinhu chinoshamisa.

Source: www.habr.com

Voeg