PHP တွင်အချိန်နှင့်ဆိုင်သောစစ်ဆင်ရေးများကိုကိုင်တွယ်သောအခါကျွန်ုပ်တို့သည် functions နှစ်ခုကို အသုံးပြု . () နှင့် GMDate () ကို အသုံးပြုလေ့ရှိသည်။ သူတို့အကြားအကြီးမားဆုံးကွာခြားချက်မှာအချိန်ဇုန်ပြုပြင်ခြင်း - နေ့စွဲ (သို့မဟုတ် Set Time Zone) တွင်အခြေခံသည့်အချိန်ကို အခြေခံ. နေ့စွဲ ( သို့မဟုတ်သတ်မှတ်ထားသည့်အချိန်ဇုန်) တွင်အခြေခံသည်။
ထို့ကြောင့် developer များစွာသည် GMDate () function ကိုအသုံးပြုသောအခါအလွန်များသောပြ problem နာ ကို ကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည်အဘယ်ကြောင့်ဤဘက်စကားသည်အဘယ်ကြောင့်ဖြစ်ပေါ်လာသော output အချိန်ကိုပိုမိုထိန်းချုပ်ရန်ကူညီရန်နှင့်ဖြေရှင်းရန်အဖြေရှာရန်အဖြေရှာများစွာကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
ရိုးရှင်းတဲ့ဥပမာတစ်ခုကိုကြည့်ရအောင်။
<code> ပဲ့တင်သံ GMDate ("YMD H: i: s: S: S: S: S:"), အချိန် ()), </ code>ဤကုဒ်သည်လက်ရှိ GMT အချိန် (အချိန်ဇုန် 0 တွင်အချိန်) သည်အမြင့်ဆုံးသွေဖည်သည့် အချိန်မှစ. 8 နာရီကြာသွေဖည်သည့်အချိန် (ဥပမာအရှေ့အဟတ်တုခရိုင်) မှအမြင့်ဆုံးသွေဖည်မှုရရှိလိမ့်မည်။
အကယ်. သင်မျှော်လင့်ထားသည့် output သည်အချိန်ဇုန် (UTC + 8, ပေကျင်းအချိန်) ကိုအခြေခံသည်။ ထို့နောက် GMDate () ကို အသုံးပြုခြင်းသည်မသင့်လျော်ပါ။
GMDate () ၏ရည်ရွယ်ချက်မှာ "GMT Timestamp format" ရန်ဖြစ်သည်။ ဆိုလိုသည်မှာမည်သည့်အချိန်ဇုန်ကိုဆာဗာကနေဖြင့် 0 င်ရောက်ယှဉ်ပြိုင်နေပါစေ ဂရမ် () သည် ၎င်းကိုလျစ်လျူရှုလိမ့်မည်။ အချိန်ကုန်ခံဇုန်များနှင့်အပြည်ပြည်ဆိုင်ရာစနစ်များနှင့်ဆင်တူသည့်အခါ၎င်းသည်အလွန်အသုံးဝင်သည်။ သို့သော်နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သင်သည်ဒေသစံတော်ချိန်လိုအပ်ပါက GMDate () ကို အသုံးပြုခြင်းသည်ပြ problems နာများဖြစ်ပေါ်စေသည်။
၎င်းသည်တိုက်ရိုက်နှင့်ထိရောက်သောနည်းလမ်းဖြစ်သည်။
<code> Date_Default_timezone_set ('Asia / Shanghai'); ECHO ရက်စွဲ ("YMD H: i: S: S: S: အချိန်), </ code>ဤနည်းလမ်းသည်ကမ္ဘာလုံးဆိုင်ရာပုံမှန်အတိုင်းအချိန်ဇုန်ကို ဦး စွာသတ်မှတ်မည်, ထို့နောက်အချိန်ဇုန်နှင့်ကိုက်ညီသောအချိန်ကိုထုတ်လုပ်ရန် ရက်စွဲ () ကို သုံးပါလိမ့်မည်။ ဤနည်းလမ်းသည်ဒေသန္တရအချိန်ကိုသာလိုအပ်သည့်စီမံကိန်းအများစုအတွက်သင့်တော်သည်။
သင့်တွင်အထူးလိုအပ်ချက်များရှိပါက GMDate ()) ကို သုံးရမည်။
<code> $ timestamp = အချိန် () + 8 * 3600; // GMT + 8 ECHO GMDate ("YMD H: i: S: S: S: S: S", $ timestamp); </ code>ဤချဉ်းကပ်မှုသည်ရိုးရှင်းသော်လည်း, အချိန်ဇယားပေါင်းများစွာမှထောက်ပံ့သောစနစ်များကိုထောက်ခံသည့်စနစ်များကို "hard-coded" offset လုပ်သည့်စနစ်များအတွက်အကြံပြုခြင်းမရှိပါ။
PHP ၏ Datetime Glass သည်အချိန်ဇုန်များကိုတိကျသောထိန်းချုပ်မှုကိုခွင့်ပြုရန်အတွက် PHP ၏ Datetime Glass သည်အချိန်မီပြုပြင်ပြောင်းလဲမှုများပြုလုပ်သည်။
<code> $ dt = datetime ("ယခု" အသစ် Datetimezone ("Asia / Shanghai"), ECHO $ DT-> format ("YMD H: i: S: S: S: S: S: S"); </ code>သို့မဟုတ်အချိန်ဇုန်သို့မလှည့်မီ၎င်းကို UTC ကိုအသုံးပြုရန်လိုအပ်ပါက -
<code> $ dt = datetime ("@") ။ အချိန် ()); $ dt-> Settimezone (New Datetimezone ("Asia / Shanghai")); ECHO $ DT-> format ("YMD H: i: S: S: S: S: S: S"); </ code>ဤနည်းလမ်းသည်ရှင်းရှင်းလင်းလင်းနှင့်ထိန်းသိမ်းနိုင်စွမ်းမရှိရုံသာမက Multi-Time Zone Systems သို့တိုးချဲ့ရန်လည်းအဆင်ပြေပါသည်။
GMDATE () သည် Date_Default_Timezone_set () ချိန်ညှိခြင်းကိုဘယ်သောအခါမျှမစဉ်းစားပါနှင့် ။
အကယ်. သင်၏ဆာဗာကိုနိုင်ငံခြားသို့ချထားပါကပုံမှန်အချိန်ဇုန်သည်သင်လိုချင်သောအရာမဟုတ်ပါ။ ကျေးဇူးပြု. အချိန်ဇုန်ကိုပရိုဂရမ်ဝင်ပေါက်တွင်တညီတညွတ်တည်းထားပါ။
အသုံးပြုသူအချိန်ကိုပြသခြင်းနှင့်ပတ်သက်လျှင်သင် datetime ကို အသုံးပြုရန်ကြိုးစားသင့်သည်။
GMDATE () ကိုအသုံးပြုပြီး timestamp output ကိုအသုံးပြုပြီးအချိန်ဇုန်သွေဖည်မှုသည်စနစ်၏ဒေသဆိုင်ရာအချိန်ကာလချိန်ညှိချက်များကိုလျစ်လျူရှုသောကြောင့်ကြုံတွေ့ရသောအခါအချိန်ဇယားဆွဲသည်။ အကယ် . သင်သည်ဒေသအလိုက် output လုပ်လိုပါက ရက်စွဲ () ကို Date () နှင့်အသုံးပြုရန်အကြံပြုသည်။ သင် GMT အချိန် output ကိုလိုအပ်လျှင် GMDate () ကို စီးပွားရေးလုပ်ငန်းအများစုတွင်အသုံးပြုရန်မသင့်လျော်ပါ။
PHP တွင်အချိန်သွေဖည်သည့်ပြ problem နာကိုအပြည့်အဝဖြေရှင်းနိုင်ရန်ဤဆောင်းပါးသည်သင့်အားကူညီနိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။ PHP အချိန်အပြောင်းအလဲနဲ့ပတ်သက်တဲ့အသေးစိတ်အချက်အလက်များအတွက်သင်ကြည့်ရှုနိုင်သည် -
<code> https://gitbox.net/php-time-handling </ code>