PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်အချိန်ဇုန်အချက်အလက်များသည်ဘုံလိုအပ်ချက်ဖြစ်သည်။ အသုံးပြုသူသည်သတ်မှတ်ထားသောဇုန်ကိုပြသသည်ဖြစ်စေ, အချိန်နှင့်အချိန်တွက်ချက်မှုများကိုလုပ်ဆောင်သောအချိန်နှင့်အချိန်တွက်ချက်မှုများကိုပြုလုပ်သောအချိန်ဇုန်အချက်အလက်များကိုတိကျစွာနှင့်ထိထိရောက်ရောက်ရယူရန်အလွန်အရေးကြီးသည်။ PHP သည် developer များကိုအချိန်ဇုန်နှင့်သက်ဆိုင်သောအလုပ်များကိုကိုင်တွယ်ရန်ကူညီရန် built-in functions များကိုထောက်ပံ့ပေးသည် ။ ဤဆောင်းပါးသည်အချိန်ဇုန်သတင်းအချက်အလက်ရယူခြင်း၏ထိရောက်မှုကိုတိုးတက်စေရန်ဤလုပ်ငန်းဆောင်တာနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။
TimeZone_Location_Get သည်အချိန်ဇုန်အရာဝတ်ထု၏အသေးစိတ်ပထဝီအနေအထားအသေးစိတ်ကိုရရှိရန်အသုံးပြုသည်။ ၎င်းသည်သော့ချက်နှစ်ခုအပါအ 0 င်တည်နေရာအချက်အလက်များပါ 0 င်သည့်နေရာတစ်ခုကိုပြန်လည်ရောက်ရှိစေသည်။
Country_code - အချိန်ဇုန်တွင်နေထိုင်သောတိုင်းပြည်ကုဒ်။
လတ်တီတွဒ် : အချိန်ဇုန်နှင့်သက်ဆိုင်သောလတ်တီတွဒ်။
လောင်ဂျီတွဒ် : အချိန်ဇုန်နှင့်သက်ဆိုင်သောလောင်ဂျီတွဒ်။
အသုံးပြုမှုဥပမာ -
<span><span><span class="hljs-variable">$timezone</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTimeZone</span></span><span>(</span><span><span class="hljs-string">"Asia/Shanghai"</span></span><span>);
</span><span><span class="hljs-variable">$location</span></span><span> = </span><span><span class="hljs-title function_ invoke__">timezone_location_get</span></span><span>(</span><span><span class="hljs-variable">$timezone</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$location</span></span><span>);
</span></span>
အချိန်ကာလ၏တည်နေရာဇုန်၏တည်နေရာဒေတာကိုရယူရန်လိုအပ်သည့်အခါဤလုပ်ဆောင်မှုကိုအဓိကအားဖြင့်အသုံးပြုသည်။ ဥပမာအားဖြင့်, အချိန်ဇုန်သည်တိကျသောတိုင်းပြည်သို့မဟုတ်ဒေသတစ်ခုတွင်ရှိ, မရှိကိုသိရန်လိုအပ်ပါကသက်ဆိုင်ရာသတင်းအချက်အလက်ရရှိရန်ဤလုပ်ဆောင်ချက်ကိုသင်အသုံးပြုနိုင်သည်။
Date_Default_Timezone_get function ကိုလက်ရှိ PHP configuration တွင်ပုံမှန်အချိန်ဇုန်ရရှိရန်အသုံးပြုသည်။ ၎င်းသည်လက်ရှိ script မှအသုံးပြုသောအချိန်ဇယားအမည် (ဥပမာ အမရေိက / New_york , Europe / London စသည်) ။ ဤလုပ်ဆောင်ချက်သည်များသောအားဖြင့်စနစ်၏ပုံမှန်အချိန်ဇုန်ချိန်ညှိချက်များကိုစစ်ဆေးရန်သို့မဟုတ်ရယူရန်အသုံးပြုလေ့ရှိသည်။
အသုံးပြုမှုဥပမာ -
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">date_default_timezone_get</span></span><span>();
</span></span>
ဤလုပ်ဆောင်ချက်သည်လက်ရှိပုံမှန်အချိန်ဇုန်ကိုပြန်လည်ရောက်ရှိစေပြီးကမ္ဘာလုံးဆိုင်ရာပုံမှန်အချိန်ဇုန်သို့ရောက်ရန်လိုအပ်သည့်အခြေအနေများအတွက်သင့်လျော်သောအခြေအနေများအတွက်သင့်လျော်သည်။ သို့မဟုတ်အချိန်ဇုန်သတ်မှတ်သည့်အခါလက်ရှိအချိန်ဇုန်ပြင်ဆင်မှုကိုစစ်ဆေးရန်လိုအပ်သည်။
timezone_location_get နှင့် date_default_timezone_get သည်အချိန်ဇုန်များနှင့်ပတ်သက်သောလုပ်ဆောင်မှုများမှာအလုပ်လုပ်သည်။ TimeZone_Location_get သည် သီးခြားပထဝီအနေအထားအရအချက်အလက်များကိုအဓိကထားသည်။ Date_Default_TimeZone_get သည် လက်ရှိအချိန်တွင်ပုံမှန်အချိန်ဇုန်ချိန်ညှိချက်များနှင့် ပတ်သက်. ဂရုစိုက်သည်။ ဤလုပ်ဆောင်မှုနှစ်ခုကိုအသုံးပြုခြင်းသည်အချိန်ဇုန်သတင်းအချက်အလက်ရရှိသည့်အခါပိုမိုတိကျသောနှင့်ထိရောက်သောအပြောင်းအလဲများကိုရရှိနိုင်သည်။
ပေါင်းစပ်အသုံးပြုရန်အတွက်ပုံမှန်အခြေအနေများ:
အလိုအလျောက်အချိန်ဇုန်ညှိနှိုင်းမှု - သင်၏လျှောက်လွှာသည်အသုံးပြုသူ area ရိယာ၏အချိန်အချက်အလက်များကိုအလိုအလျောက်လိုက်လျောညီထွေဖြစ်အောင်လုပ်ရန်လိုသည်ဆိုပါစို့။ ယခုအချိန်တွင်သင်သည်လက်ရှိအခြေအနေဇုန်ကို Date_Default_Timezonezet မှတဆင့်ရနိုင်ပြီး TimeZone_Location_Get ကို Timezone_Location_get ကို အသုံးပြု. application သည်တည်နေရာဇုန်၏တည်နေရာအချက်အလက်ကိုရရှိရန်အသုံးပြုပါ။
Multi-time Multi -time display ကိုအချိန်အတန်ကြာသောအချိန်ဇုန်များစွာဖြင့်အချိန်ကိုအသုံးပြုခြင်းအားဖြင့်ဤလုပ်ဆောင်ချက်နှစ်ခုကို အသုံးပြု. စနစ်ပုံမှန်အချိန်ဇုန်နှင့်သုံးစွဲသူသတ်မှတ်ထားသောအချိန်ဇုန်အကြားထိရောက်စွာပြောင်းလဲနိုင်သည်။ ပထမ ဦး စွာ, လက်ရှိအချိန်ဇုန်ကို Date -Default_Timezone_get မှတဆင့်ရယူပါ။ ထို့နောက်အချိန်ဇုန်၏ပထဝီအနေအထားကို timezone_location_get မှတဆင့်ရယူပါ။ ဤနည်းအားဖြင့်သင်သည်အချိန်ဇုန်နှင့်သက်ဆိုင်သောအချိန်ဇုန်နှင့်သက်ဆိုင်သောအသေးစိတ်နေရာများကိုသင်အပြန်အလှန်ဆက်သွယ်မှုကိုတိုးပွားစေနိုင်သည်။
ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်လိုက်သောအခါထိရောက်သောစွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်အတွက်သော့ချက်သည်အချိန်ဇုန်အချက်အလက်များနှင့်လိုအပ်သည့်အခါ၎င်းကိုမွမ်းမံရန်ဖြစ်သည်။ အချိန်ဇုန်အချက်အလက်များရသည့်အခါတိုင်း API ကိုအကြိမ်ကြိမ်ခေါ်ဆိုမည့်အစားအချိန်ဇုန်ဒေတာများကိုသိုလှောင်ထားရန်စဉ်းစားနိုင်သည်။
Cache ၏မူဝါဒ:
Cache Time Zone name: ပထမ ဦး ဆုံးအကြိမ်ဇုန်ကိုပြန်လည်ရယူပြီးနောက်တွင် Date_Default_timezone_get မှပြန်လာသောဇုန်အမည်ကို cache ထဲတွင်သိမ်းဆည်းထားသည်။
Cache တည်နေရာဒေတာ - timezone_location_get ကို ပထမ ဦး ဆုံးအကြိမ်ခေါ်ဝေါ်သောအခါပြန်လာသောတည်နေရာအချက်အလက်များသည်အချိန်ကာလတိုင်းကိုပြန်လည်ရယူခြင်းကိုရှောင်ရှားရန်သိမ်းဆည်းထားပါသည်။
Cache ၏ Periodic update: နောက်ဆုံးပေါ်ဇုန်အချက်အလက်ရရန်သေချာစေရန်လိုအပ်သော cache သက်တမ်းကုန်ဆုံးချိန်သတ်မှတ်နိုင်သည်။
Code Perfection:
<span><span><span class="hljs-comment">// သင်တစ် ဦး cacheing ယန္တရားအချို့ကိုသုံးပါဆိုပါစို့,ကဲ့သို့ Redis သို့မဟုတ် Memcached</span></span><span>
</span><span><span class="hljs-variable">$timezone</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_default_timezone_get</span></span><span>();
</span><span><span class="hljs-variable">$cacheKey</span></span><span> = </span><span><span class="hljs-string">"timezone_location_<span class="hljs-subst">{$timezone}</span></span></span><span>";
</span><span><span class="hljs-comment">// cache တွင်အချိန်ဇုန်တည်နေရာဒေတာရှိပြီးသားရှိမရှိစစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-variable">$location</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getCache</span></span><span>(</span><span><span class="hljs-variable">$cacheKey</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$location</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-variable">$timezoneObject</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTimeZone</span></span><span>(</span><span><span class="hljs-variable">$timezone</span></span><span>);
</span><span><span class="hljs-variable">$location</span></span><span> = </span><span><span class="hljs-title function_ invoke__">timezone_location_get</span></span><span>(</span><span><span class="hljs-variable">$timezoneObject</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">setCache</span></span><span>(</span><span><span class="hljs-variable">$cacheKey</span></span><span>, </span><span><span class="hljs-variable">$location</span></span><span>, </span><span><span class="hljs-number">3600</span></span><span>); </span><span><span class="hljs-comment">// သိုကာတာ1နာရီ</span></span><span>
}
</span><span><span class="hljs-comment">// output အချိန်ဇုန်တည်နေရာသတင်းအချက်အလက်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$location</span></span><span>);
</span></span>
cache ကိုအသုံးပြုခြင်းအားဖြင့်အချိန်မျိုးစုံတောင်းဆိုမှုများအတွက်စားသုံးသည့်အချိန်နှင့်အရင်းအမြစ်များကိုအသုံးပြုသောအချိန်ဇုန်အချက်အလက်များအထူးသဖြင့်စွမ်းဆောင်ရည်မြင့်မားသောတစ်ပြိုင်နက်တည်း applications များတွင်သိသိသာသာလျှော့ချနိုင်သည်။
TheMezone_Location_Get နှင့် Date_Default_Timezone_get လုပ်ဆောင်ချက်များတစ်ခုချင်းစီသည်ကွဲပြားခြားနားသောတာ 0 န် 0 တ္တရားများယူဆကြသော်လည်းပေါင်းစပ်အသုံးပြုသောအခါ, ဆင်ခြင်တုံတရားကိုသုံးပြီးထပ်တလဲလဲတောင်းဆိုမှုများကိုရှောင်ရှားခြင်းအားဖြင့်အချိန်တန်ဇုန်တည်ဆောက်မှုနှင့်စွမ်းဆောင်ရည်ပိုမိုကောင်းမွန်စေရန်အတွက်ဖြစ်ရပ်များတွင် application များရှိ application များ၏ထိရောက်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။