Unix အချိန်နှင့် ပတ်သက်၍ ပရိုဂရမ်မာများ၏ အထင်အမြင်လွဲမှားမှုများ

တောင်းပန်ပါတယ် Patrick McKenzie ၊.

မနေ့က ဒယ်နီ Unix အချိန်နှင့်ပတ်သက်သော စိတ်ဝင်စားဖွယ်အချက်အချို့ကို ကျွန်ုပ်မေးခဲ့ပြီး တစ်ခါတစ်ရံ ၎င်းသည် လုံးဝမသိလိုက်ဘဲ အလုပ်လုပ်ကြောင်း သတိရမိသည်။

ဤအချက်သုံးချက်သည် အလွန်ကျိုးကြောင်းဆီလျော်ပြီး ယုတ္တိရှိပုံပေါ်သည်မဟုတ်ပါလား။

  1. Unix အချိန်သည် ဇန်နဝါရီ 1၊ 1970 00:00:00 UTC ကတည်းက စက္ကန့်အရေအတွက်ဖြစ်သည်။
  2. အကယ်၍ သင်သည် တစ်စက္ကန့်တိတိ စောင့်ပါက၊ Unix အချိန်သည် တစ်စက္ကန့်တိတိ ပြောင်းလဲသွားမည်ဖြစ်သည်။
  3. Unix အချိန်သည် နောက်ပြန်မရွေ့။

တစ်ခုမှ မမှန်ပါဘူး။

ဒါပေမယ့် ရှင်းပြစရာမလိုဘဲ “ဒါတစ်ခုမှ မမှန်ဘူး” လို့ ရိုးရိုးရှင်းရှင်းပြောရုံနဲ့ မလုံလောက်ပါဘူး။ ဘာကွောငျ့. ရှင်းလင်းချက်များအတွက် အောက်တွင် ကြည့်ပါ။ ဒါပေမယ့် သင်ကိုယ်တိုင် စဉ်းစားချင်ရင် နာရီရဲ့ ပုံသဏ္ဍာန်ကို ကျော်လွန်မသွားပါနဲ့။

Unix အချိန်နှင့် ပတ်သက်၍ ပရိုဂရမ်မာများ၏ အထင်အမြင်လွဲမှားမှုများ
1770 ခုနှစ်များမှ စားပွဲတင်နာရီ။ John Leroux မှ ပြုစုသည်။ ထံမှ မင်္ဂလာပါစုစည်းမှုများ. လိုင်စင်အောက်တွင် ထုတ်ဝေထားသည်။ BY CC ကို

အထင်အမြင်လွဲမှားမှု သုံးခုလုံးတွင် အကြောင်းရင်းတစ်ခုရှိသည်။ စက္ကန့်ခုန်. ခုန်စက္ကန့်နှင့် မရင်းနှီးပါက၊ ဤနေရာတွင် အမြန်ကိုးကားပါ။

UTC အချိန်ကို အချက်နှစ်ချက်ဖြင့် ဆုံးဖြတ်သည်-

  • နိုင်ငံတကာ အနုမြူစံတော်ချိန်- ကမ္ဘာတစ်ဝှမ်းရှိ အဏုမြူနာရီ ရာပေါင်းများစွာမှ ပျမ်းမျှဖတ်ရှုမှု။ ကျွန်ုပ်တို့သည် အက်တမ်တစ်ခု၏ လျှပ်စစ်သံလိုက်ဂုဏ်သတ္တိများဖြင့် ဒုတိယကို တိုင်းတာနိုင်ပြီး၊ ၎င်းသည် သိပ္ပံပညာအရ သိရှိနိုင်သော အချိန်၏ အတိကျဆုံး တိုင်းတာမှုဖြစ်သည်။
  • ကမ္ဘာ့အချိန်၎င်း၏ဝင်ရိုးတစ်ဝိုက်တွင် ကမ္ဘာ၏လည်ပတ်မှုအပေါ်အခြေခံသည်။ တော်လှန်ရေး အပြည့်ရှိတဲ့ နေ့တစ်နေ့။

ပြဿနာက ဒီဂဏန်းနှစ်လုံးက အမြဲတမ်း မတိုက်ဆိုင်လို့ပါပဲ။ ကမ္ဘာရဲ့လည်ပတ်မှုဟာ တသမတ်တည်းမဖြစ်ဘဲ၊ တဖြည်းဖြည်းနှေးကွေးလာတဲ့အတွက် Universal Time ရဲ့နေ့ရက်တွေဟာ ပိုရှည်လာပါတယ်။ တစ်ဖက်တွင်မူ အက်တမ်နာရီများသည် နှစ်သန်းပေါင်းများစွာအတွင်း ဆိုးရွားစွာ တိကျပြီး ကိန်းသေနေပါသည်။

နှစ်ကြိမ်ထပ်တူကျသောအခါ၊ တစ်စက္ကန့်ကို ထပ်ပေါင်းထည့်မည် သို့မဟုတ် တစ်စက္ကန့်ကို UTC မှ ဖယ်ရှားမည်ဖြစ်သည်။ 1972 ခုနှစ်ကတည်းက ဝန်ဆောင်မှုပေးခဲ့သည်။ IERS (ဤကိစ္စတွင်အလုပ်လုပ်သည်) အပို 27 စက္ကန့်ထပ်ထည့်သည်။ ရလဒ်သည် ကြာချိန် 27 စက္ကန့်ဖြင့် 86 UTC ရက်ဖြစ်သည်။ သီအိုရီအရ တစ်ရက်လျှင် ကြာချိန် 401 စက္ကန့် (အနှုတ်တစ်) ဖြစ်နိုင်သည်။ ရွေးချယ်မှုနှစ်ခုလုံးသည် Unix အချိန်၏ အခြေခံယူဆချက်နှင့် ဆန့်ကျင်ဘက်ဖြစ်သည်။

Unix အချိန်သည် တစ်နေ့လျှင် စက္ကန့် 86 (400 × 60 × 60 = 24) အတိအကျ ကြာသည်ဟု ယူဆသည်။ ထိုသို့သော ခုန်ခြင်းမျိုး ဖြစ်ပေါ်လာပါက Unix အချိန်သည် တစ်စက္ကန့် ခုန်သွားသည် သို့မဟုတ် တစ်ကြိမ်တွင် နှစ်စက္ကန့်ကို ရေတွက်သည်။ 86 ခုနှစ်စာရင်းအရ ၎င်းသည် ရက်ထပ် 400 စက္ကန့်ပျောက်ဆုံးနေပါသည်။

ထို့ကြောင့် ကျွန်ုပ်တို့၏ အထင်အမြင်လွဲမှားမှုများကို အောက်ပါအတိုင်း ဖြည့်စွက်ရန် လိုအပ်ပါသည်။

  • Unix အချိန်သည် ဇန်နဝါရီလ 1 ရက်၊ 1970 00:00:00 UTC ကတည်းက စက္ကန့်အရေအတွက် အနှုတ်စက္ကန့် ခုန်.
  • တစ်စက္ကန့်တိတိ စောင့်ရင် Unix အချိန်က တစ်စက္ကန့် တိတိ ပြောင်းလဲသွားပါလိမ့်မယ်၊ ခုန်စက္ကန့်ကို ဖယ်ရှားမထားပါက၊.

    ယခုအချိန်အထိ စက္ကန့်များကို လက်တွေ့တွင် မဖယ်ရှားရသေးပါ (ကမ္ဘာကြီး၏ လည်ပတ်မှု နှေးကွေးခြင်းသည် ဖြစ်နိုင်ခြေမရှိဟု ဆိုလိုသည်) သို့သော် ထိုသို့ဖြစ်ခဲ့ပါက UTC နေ့သည် တစ်စက္ကန့် ပိုတိုလာမည်ဟု ဆိုလိုပါသည်။ ဤကိစ္စတွင်၊ UTC (23:59:59) ၏နောက်ဆုံးစက္ကန့်ကို စွန့်ပစ်ထားသည်။

    Unix နေ့တစ်ခုစီတွင် စက္ကန့်အရေအတွက် တူညီသည်၊ ထို့ကြောင့် အတိုချုံးထားသော နေ့၏ နောက်ဆုံး Unix စက္ကန့်သည် မည်သည့် UTC အချိန်နှင့်မျှ သက်ဆိုင်မည်မဟုတ်ပါ။ ဤသည်မှာ၊ လေးပုံတစ်ပုံ-စက္ကန့်ကြားကာလတွင်၊

    Unix အချိန်နှင့် ပတ်သက်၍ ပရိုဂရမ်မာများ၏ အထင်အမြင်လွဲမှားမှုများ

    အကယ်၍ သင်သည် 23:59:58:00 UTC တွင် စတင်ပြီး တစ်စက္ကန့်စောင့်ပါက၊ Unix အချိန်သည် UTC စက္ကန့် နှစ်ချက်ထက် ကျော်လွန်သွားမည်ဖြစ်ပြီး Unix 101 အချိန်တံဆိပ်ကို မည်သူမှ သတ်မှတ်ပေးမည်မဟုတ်ပါ။

  • Unix အချိန်က ဘယ်တော့မှ နောက်ပြန်မသွားနိုင်ပါဘူး၊ တစ်စက္ကန့်ကို ခုန်ပြီးသည်အထိ.

    ဒါဟာ လက်တွေ့မှာ ၂၇ ကြိမ်ရှိပြီဖြစ်ပါတယ်။ UTC နေ့၏အဆုံးတွင်၊ နောက်ထပ်စက္ကန့်တစ်ခုကို 27:23:59 တွင် ပေါင်းထည့်သည်။ Unix တွင် တစ်ရက်လျှင် စက္ကန့်အရေအတွက် တူညီသောကြောင့် ၎င်းသည် အပိုတစ်စက္ကန့်ကို ထပ်ထည့်၍မရပါ - ၎င်းအစား နောက်ဆုံးစက္ကန့်အတွက် Unix အချိန်တံဆိပ်တုံးများကို ထပ်လုပ်ရမည်ဖြစ်ပါသည်။ ဤသည်မှာ၊ လေးပုံတစ်ပုံ-စက္ကန့်ကြားကာလတွင်၊

    Unix အချိန်နှင့် ပတ်သက်၍ ပရိုဂရမ်မာများ၏ အထင်အမြင်လွဲမှားမှုများ

    23:59:60.50 မှာစပြီး စက္ကန့်ဝက်လောက်စောင့်ရင် Unix အချိန်ဖြစ်ပါတယ်။ ပြန်လာသည် စက္ကန့်ဝက်ဖြင့်၊ Unix 101 အချိန်တံဆိပ်သည် UTC နှစ်စက္ကန့်နှင့် ကိုက်ညီသည်။

ဒါတွေဟာ Unix ခေတ်ရဲ့ တစ်ခုတည်းသော ထူးထူးခြားခြား မဟုတ်ဘဲ မနေ့ က မှတ်မိခဲ့တဲ့ အရာတွေ ဖြစ်နိုင်ပါတယ်။

အချိန် - အလွန် ထူးဆန်းသောအရာ။

source: www.habr.com

မှတ်ချက် Add