<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤကုဒ်သည်ဤအပိုင်းသည်အချိန်ဇုန်အတိအကျကိုမည်သို့ရနိုင်မည်ကိုပြသသည်,နှင့်ပုံမှန်အချိန်ဇုန်သတ်မှတ်ထားပါ。</span></span><span>
</span><span><span class="hljs-comment">// ဆောင်းပါး၏အဓိကစာသားနှင့်ဘာမှမဆိုင်ပါဘူး,သာသရုပ်ပြရည်ရွယ်ချက်များအတွက်。</span></span><span>
</span><span><span class="hljs-variable">$timezones</span></span><span> = </span><span><span class="hljs-title function_ invoke__">timezone_abbreviations_list</span></span><span>();
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$timezones</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$abbr</span></span><span> => </span><span><span class="hljs-variable">$zones</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အကျဉ်း: <span class="hljs-subst">$abbr</span></span></span><span>\n";
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$zones</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$zone</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">" - အချိန်ဇုန်ID: "</span></span><span> . </span><span><span class="hljs-variable">$zone</span></span><span>[</span><span><span class="hljs-string">'timezone_id'</span></span><span>] . </span><span><span class="hljs-string">", ပြောင်းရွှေ့စက္ကန့်: "</span></span><span> . </span><span><span class="hljs-variable">$zone</span></span><span>[</span><span><span class="hljs-string">'offset'</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
}
</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"当前默认အချိန်ဇုန်: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date_default_timezone_get</span></span><span>() . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
---
</span><span><span class="hljs-comment"># ဘယ်လိုနည်းနဲ့timezone_abbreviations_listလုပ်ဆောင်ချက်များနှင့်date_default_timezone_set函数配合使用实现အချိန်ဇုန်管理?</span></span><span>
တည်နေPHPအလယ်ပိုင်း,အချိန်ဇုန်管理对于处理时间နှင့်日期非常关键,特别是တည်နေ跨အချိန်ဇုန်应用场景အလယ်ပိုင်း。PHPအရေးကြီးသောလုပ်ဆောင်ချက်နှစ်ခုကိုထောက်ပံ့ပေးသည်——`</span><span><span class="hljs-title function_ invoke__">timezone_abbreviations_list</span></span><span>()` နှင့် `</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>()`,သူတို့အတူတကွအသုံးပြုနိုင်ပါတယ်,实现灵活且准确的အချိန်ဇုန်管理。
</span><span><span class="hljs-comment">## တစ်、timezone_abbreviations_listနိဒါန်းနိဒါန်း</span></span><span>
`</span><span><span class="hljs-title function_ invoke__">timezone_abbreviations_list</span></span><span>()` 函数返回တစ်个数组,列出了所有အချိန်ဇုန်အကျဉ်း及其对应的详细信息。ခင်းကျင်း၏ဖွဲ့စည်းပုံကိုအောက်ပါအတိုင်းအကြမ်းအားဖြင့်ဖြစ်ပါတယ်:
```php
[
</span><span><span class="hljs-string">"abbr"</span></span><span> => [
[
</span><span><span class="hljs-string">"offset"</span></span><span> => ပြောင်းရွှေ့စက္ကန့်,
</span><span><span class="hljs-string">"dst"</span></span><span> => ၎င်းသည်နေ့အလင်းရောင်ချွေတာခြင်းဖြစ်သည်ဖြစ်စေ,(Boolean Value),
</span><span><span class="hljs-string">"timezone_id"</span></span><span> => အချိန်ဇုန်标识符字符串
],
...
],
...
]
</span></span>
ဒီ function က developer များက developer များစံဇုန်၏စံသတ်မှတ်ချက်, offset နှင့်သက်ဆိုင်ရာအချိန်ဇုန် ID ကိုရရှိရန်ခွင့်ပြုထားသောကြောင့် developer များကအချိန်ဇုန်၏အချိန်ဇုန် switching နှင့် display ကိုလွယ်ကူချောမွေ့စေသည်။
Date_Default_TimeZone_set (string $ timezoneid) ကို PHP လည်ပတ်သောပတ် 0 န်းကျင်ကိုသတ်မှတ်ရန်အသုံးပြုသည်။ ချိန်ညှိပြီးနောက် ရက်စွဲ () , အချိန် () စသကဲ့သို့အချိန်နှင့်ဆက်နွယ်သောလုပ်ဆောင်ချက်များအားလုံးသည်အချိန်ကိုအချိန်ဇယားဆွဲရန်ဤပုံမှန်အချိန်ဇုန်ကိုသုံးလိမ့်မည်။
ဥပမာ -
<span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>); </span><span><span class="hljs-comment">// Shanghai Time ကိုတင်ပို့ပါ</span></span><span>
</span></span>
သင့်တွင်လိုအပ်ချက်တစ်ခုရှိသည်ဆိုပါစို့။ အသုံးပြုသူသည်အချိန်ဇုန်အတိုကောက်တွင်ဖြတ်သန်းသွားသည်ဆိုပါစို့။
timezone_abbreviations_list မှတဆင့် thinkzone အတိုကောက်အားလုံးနှင့်သက်ဆိုင်သောအချက်အလက်များကိုရယူပါ။
Target အတိုကောက်နှင့်သက်ဆိုင်သောအချိန်ဇုန်များ၏စာရင်းကိုရှာပါ (အတိုကောက်သည်အချိန်ဇုန်များစွာနှင့်ကိုက်ညီနိုင်သည်) ။
သင့်လျော်သောအချိန်ဇုန်အမှတ်အသားကိုရွေးချယ်ပါ (ဥပမာအားဖြင့် offset သည်သုံးစွဲသူ၏လိုအပ်ချက်များသို့မဟုတ် default ပထမ ဦး ဆုံးအသင့်တော်ဆုံးဖြစ်သည်။
PHPT Time Zone ကိုထိုအချိန်ဇုန်သို့သတ်မှတ်ရန် Day_Default_TimeZone_set () ကိုသုံးပါ။
အချိန်ကိုရယူပါ။
နမူနာကုဒ်:
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">setTimezoneByAbbr</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$abbr</span></span></span><span>) {
</span><span><span class="hljs-variable">$abbr</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$abbr</span></span><span>);
</span><span><span class="hljs-variable">$timezones</span></span><span> = </span><span><span class="hljs-title function_ invoke__">timezone_abbreviations_list</span></span><span>();
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$timezones</span></span><span>[</span><span><span class="hljs-variable">$abbr</span></span><span>])) {
</span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">Exception</span></span><span>(</span><span><span class="hljs-string">"အချိန်ဇုန်အကျဉ်း '<span class="hljs-subst">{$abbr}</span></span></span><span>' 不存တည်နေ");
}
</span><span><span class="hljs-comment">// 这里默认选第တစ်个အချိန်ဇုန်,လိုအပ်မယ်ဆိုရင်,offset သို့မဟုတ်အခြားအခြေအနေများအပေါ်အခြေခံပြီးစစ်ထုတ်နိုင်ပါတယ်</span></span><span>
</span><span><span class="hljs-variable">$zone</span></span><span> = </span><span><span class="hljs-variable">$timezones</span></span><span>[</span><span><span class="hljs-variable">$abbr</span></span><span>][</span><span><span class="hljs-number">0</span></span><span>];
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$zone</span></span><span>[</span><span><span class="hljs-string">'timezone_id'</span></span><span>])) {
</span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">Exception</span></span><span>(</span><span><span class="hljs-string">"အချိန်ဇုန်IDအားမရှိသော"</span></span><span>);
}
</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-variable">$zone</span></span><span>[</span><span><span class="hljs-string">'timezone_id'</span></span><span>]);
}
</span><span><span class="hljs-comment">// နမူနာ:ခလုတ်ကိုနှိပ်ပါCSTအချိန်ဇုန်</span></span><span>
</span><span><span class="hljs-keyword">try</span></span><span> {
</span><span><span class="hljs-title function_ invoke__">setTimezoneByAbbr</span></span><span>(</span><span><span class="hljs-string">'CST'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိအချိန်:"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>) . </span><span><span class="hljs-string">",အချိန်ဇုန်:"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date_default_timezone_get</span></span><span>();
} </span><span><span class="hljs-keyword">catch</span></span><span> (</span><span><span class="hljs-built_in">Exception</span></span><span> </span><span><span class="hljs-variable">$e</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အမှား:"</span></span><span> . </span><span><span class="hljs-variable">$e</span></span><span>-></span><span><span class="hljs-title function_ invoke__">getMessage</span></span><span>();
}
</span></span>
အချို့သောအတိုကောက်များသည်အချိန်ဇုန်များစွာနှင့်ကိုက်ညီသည် (ဥပမာ CST သည်တရုတ်နိုင်ငံ၏စံချိန်, ဗဟိုအလုပ်အိတိအရိမ်းစသည်ဖြင့်) နှင့်တိကျသောအချိန်ဇယား ID ကိုရွေးချယ်ရန်လိုအပ်သည်။
မရေရာမှုများကိုရှောင်ရှားရန်တိုက်ရိုက်အတိုကောက်များကိုတိုက်ရိုက်အတိုကောက်များအစားအချိန်ဇုန်ဆိုင်ရာအမှတ်အသားများ (ဥပမာအာရှ / ရှန်ဟန်,
အသုံးပြုသူတိုင်းပြည်သို့မဟုတ်ဒေသ၏သတင်းအချက်အလက်များအပေါ် အခြေခံ. function ကို dynamically နှင့်ကိုက်ညီမှုရှိစေရန်တိုးချဲ့နိုင်သည်။
TimeZone_abbreviations_list () နှင့် Date_Default_Timezone_set () သည် PHP တွင်အချိန်ဇုန်အပြောင်းအလဲအတွက်အဓိကကိရိယာများဖြစ်သည်။ ယခင်ကအသေးစိတ်အချိန်ဇုန်အတိုကောက်နှင့်သက်ဆိုင်ရာသတ်မှတ်ချက်များနှင့်သက်ဆိုင်သောသတ်မှတ်ချက်များကိုရရှိပြီးနောက်တိကျသောဇုန်အပလီကေးရှင်းများလိုအပ်ချက်များနှင့်ကိုက်ညီစေရန်အတွက်ထိရောက်သောနှင့်တိကျသောအချိန်ကာလစီမံခန့်ခွဲမှုရရှိနိုင်ရန် default time default zone ကိုသတ်မှတ်သည်။
<span></span>