Programmers 'Misconceptions Txog Unix Sijhawm

kuv thov txim Patrick McKenzie: koj puas xav tau ntau tus thwjtim?.

Nag hmo Danny Kuv nug txog qee qhov tseeb txog lub sijhawm Unix, thiab kuv nco qab tias qee zaum nws ua haujlwm tsis txaus ntseeg.

Peb qhov tseeb no zoo li tsim nyog thiab tsim nyog, puas yog?

  1. Unix lub sij hawm yog tus naj npawb ntawm vib nas this txij lub Ib Hlis 1, 1970 00: 00: 00 UTC.
  2. Yog tias koj tos raws nraim ib pliag, lub sijhawm Unix yuav hloov raws nraim ib thib ob.
  3. Lub sijhawm Unix yeej tsis txav rov qab.

Tsis muaj qhov no muaj tseeb.

Tab sis nws tsis txaus los hais yooj yim, "Tsis muaj qhov no yog qhov tseeb," yam tsis tau piav qhia. vim li cas. Saib hauv qab no kom piav qhia. Tab sis yog tias koj xav xav rau koj tus kheej, tsis txhob hla dhau daim duab ntawm lub moos!

Programmers 'Misconceptions Txog Unix Sijhawm
Table moos los ntawm 1770s. Sau los ntawm John Leroux. Los ntawm Nyob zoo collections. Luam tawm raws li daim ntawv tso cai CC BY

Tag nrho peb txoj kev xav tsis zoo muaj ib qho laj thawj: dhia vib nas this. Yog tias koj tsis paub txog leap vib nas this, ntawm no yog cov ntaub ntawv ceev:

Lub sijhawm UTC yog txiav txim los ntawm ob yam:

  • International Atomic Time: Kev nyeem nruab nrab ntawm ntau pua lub moos atomic thoob ntiaj teb. Peb tuaj yeem ntsuas qhov thib ob los ntawm cov khoom siv hluav taws xob ntawm lub atom, thiab qhov no yog qhov tseeb tshaj plaws ntawm lub sijhawm uas paub txog science.
  • Lub Sijhawm Ntiaj Teb, raws li kev sib hloov ntawm lub ntiaj teb nyob ib ncig ntawm nws tus kheej axis. Ib lub kiv puag ncig tag nrho yog ib hnub.

Qhov teeb meem yog tias ob tus lej no tsis zoo ib yam. Lub ntiaj teb kev sib hloov tsis zoo ib yam - nws maj mam qeeb, yog li cov hnub hauv Universal Time ntev dua. Ntawm qhov tod tes, atomic moos yog devilishly tseeb thiab tas mus li ntau lab xyoo.

Thaum ob zaug poob ntawm sync, ib qho thib ob ntxiv lossis tshem tawm ntawm UTC kom coj lawv rov qab mus rau hauv sync. Txij li thaum 1972 kev pabcuam IERS (uas khiav cov ntaub ntawv no) ntxiv 27 vib nas this ntxiv. Qhov tshwm sim yog 27 UTC hnub nrog lub sijhawm ntawm 86 vib nas this. Raws li txoj cai, ib hnub nrog lub sijhawm ntawm 401 vib nas this ( rho tawm ib qho) yog ua tau. Ob qho kev xaiv cuam tshuam qhov kev xav ntawm lub sijhawm Unix.

Lub sijhawm Unix xav tias txhua hnub kav ntev li 86 vib nas this (400 Γ— 60 Γ— 60 = 24), yam tsis muaj vib nas this ntxiv. Yog tias qhov dhia ntawd tshwm sim, ces Unix lub sijhawm dhia ib pliag, lossis suav ob vib nas this hauv ib qho. Raws li ntawm 86, nws ploj lawm 400 leap vib nas this.

Yog li peb cov kev xav tsis zoo yuav tsum tau ntxiv raws li hauv qab no:

  • Unix lub sij hawm yog tus naj npawb ntawm vib nas this txij lub Ib Hlis 1, 1970 00:00:00 UTC rho tawm leap vib nas this.
  • Yog tias koj tos raws nraim ib pliag, Unix lub sijhawm yuav hloov raws nraim ib thib ob, tshwj tsis yog lub leap thib ob tau raug tshem tawm.

    Txog rau tam sim no, vib nas this yeej tsis tau muab tshem tawm hauv kev xyaum (thiab kev qeeb ntawm lub ntiaj teb kev sib hloov txhais tau tias qhov no tsis zoo li), tab sis yog tias nws puas tau tshwm sim, nws txhais tau tias UTC hnub yuav dhau los ua ib thib ob luv dua. Hauv qhov no, qhov thib ob kawg ntawm UTC (23:59:59) raug muab pov tseg.

    Txhua hnub Unix muaj tib lub vib nas this, yog li Unix kawg thib ob ntawm ib hnub luv luv yuav tsis sib haum rau txhua lub sijhawm UTC. Nov yog qhov nws zoo li, nyob rau lub quarter thib ob:

    Programmers 'Misconceptions Txog Unix Sijhawm

    Yog tias koj pib ntawm 23: 59: 58: 00 UTC thiab tos ib pliag, Unix lub sijhawm yuav nce ob UTC vib nas this thiab Unix 101 timestamp yuav tsis muab rau leej twg.

  • Unix lub sijhawm tsis tuaj yeem rov qab mus, kom txog thaum lub leap thib ob ntxiv.

    Qhov no twb tau tshwm sim 27 zaug hauv kev xyaum. Thaum kawg ntawm UTC hnub, qhov thib ob ntxiv yog ntxiv ntawm 23:59:60. Unix muaj tib tus lej ntawm cov vib nas this hauv ib hnub, yog li nws tsis tuaj yeem ntxiv qhov thib ob ntxiv - hloov nws yuav tsum rov ua dua Unix timestamps rau zaum thib ob. Nov yog qhov nws zoo li, nyob rau lub quarter thib ob:

    Programmers 'Misconceptions Txog Unix Sijhawm

    Yog tias koj pib ntawm 23: 59: 60.50 thiab tos ib nrab thib ob, lub sijhawm Unix rov los los ntawm ib nrab thib ob, thiab Unix 101 timestamp sib raug rau ob UTC vib nas this.

Tej zaum cov no tsis yog qhov txawv ntawm Unix lub sijhawm - tsuas yog qhov kuv nco txog nag hmo.

Sijhawm - heev coj txawv txawv.

Tau qhov twg los: www.hab.com

Ntxiv ib saib