လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> How to use the timezone_abbreviations_list function and the date_default_timezone_set function to implement timezone management?

How to use the timezone_abbreviations_list function and the date_default_timezone_set function to implement timezone management?

gitbox 2025-08-13
<span><span><span class="hljs-meta">&lt;?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> =&gt; </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">?&gt;</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> =&gt; [
        [
            </span><span><span class="hljs-string">"offset"</span></span><span> =&gt; ပြောင်းရွှေ့စက္ကန့်,
            </span><span><span class="hljs-string">"dst"</span></span><span> =&gt; ၎င်းသည်နေ့အလင်းရောင်ချွေတာခြင်းဖြစ်သည်ဖြစ်စေ,(Boolean Value),
            </span><span><span class="hljs-string">"timezone_id"</span></span><span> =&gt; အချိန်ဇုန်标识符字符串
        ],
        ...
    ],
    ...
]
</span></span>

ဒီ function က developer များက developer များစံဇုန်၏စံသတ်မှတ်ချက်, offset နှင့်သက်ဆိုင်ရာအချိန်ဇုန် ID ကိုရရှိရန်ခွင့်ပြုထားသောကြောင့် developer များကအချိန်ဇုန်၏အချိန်ဇုန် switching နှင့် display ကိုလွယ်ကူချောမွေ့စေသည်။

2 ။ DatePefault_Timezone_set function ကိုမိတ်ဆက်ခြင်း

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>

3 ။ အချိန်ဇုန်စီမံခန့်ခွဲမှုကိုအကောင်အထည်ဖော်ရန်၎င်းကိုပေါင်းစပ်ပါ

သင့်တွင်လိုအပ်ချက်တစ်ခုရှိသည်ဆိုပါစို့။ အသုံးပြုသူသည်အချိန်ဇုန်အတိုကောက်တွင်ဖြတ်သန်းသွားသည်ဆိုပါစို့။

  1. timezone_abbreviations_list မှတဆင့် thinkzone အတိုကောက်အားလုံးနှင့်သက်ဆိုင်သောအချက်အလက်များကိုရယူပါ။

  2. Target အတိုကောက်နှင့်သက်ဆိုင်သောအချိန်ဇုန်များ၏စာရင်းကိုရှာပါ (အတိုကောက်သည်အချိန်ဇုန်များစွာနှင့်ကိုက်ညီနိုင်သည်) ။

  3. သင့်လျော်သောအချိန်ဇုန်အမှတ်အသားကိုရွေးချယ်ပါ (ဥပမာအားဖြင့် offset သည်သုံးစွဲသူ၏လိုအပ်ချက်များသို့မဟုတ် default ပထမ ဦး ဆုံးအသင့်တော်ဆုံးဖြစ်သည်။

  4. PHPT Time Zone ကိုထိုအချိန်ဇုန်သို့သတ်မှတ်ရန် Day_Default_TimeZone_set () ကိုသုံးပါ။

  5. အချိန်ကိုရယူပါ။

နမူနာကုဒ်:

 <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>-&gt;</span><span><span class="hljs-title function_ invoke__">getMessage</span></span><span>();
}
</span></span>

4 ။ မှတ်စုများ

  • အချို့သောအတိုကောက်များသည်အချိန်ဇုန်များစွာနှင့်ကိုက်ညီသည် (ဥပမာ CST သည်တရုတ်နိုင်ငံ၏စံချိန်, ဗဟိုအလုပ်အိတိအရိမ်းစသည်ဖြင့်) နှင့်တိကျသောအချိန်ဇယား ID ကိုရွေးချယ်ရန်လိုအပ်သည်။

  • မရေရာမှုများကိုရှောင်ရှားရန်တိုက်ရိုက်အတိုကောက်များကိုတိုက်ရိုက်အတိုကောက်များအစားအချိန်ဇုန်ဆိုင်ရာအမှတ်အသားများ (ဥပမာအာရှ / ရှန်ဟန်,

  • အသုံးပြုသူတိုင်းပြည်သို့မဟုတ်ဒေသ၏သတင်းအချက်အလက်များအပေါ် အခြေခံ. function ကို dynamically နှင့်ကိုက်ညီမှုရှိစေရန်တိုးချဲ့နိုင်သည်။

5 ။ အကျဉ်းချုပ်

TimeZone_abbreviations_list () နှင့် Date_Default_Timezone_set () သည် PHP တွင်အချိန်ဇုန်အပြောင်းအလဲအတွက်အဓိကကိရိယာများဖြစ်သည်။ ယခင်ကအသေးစိတ်အချိန်ဇုန်အတိုကောက်နှင့်သက်ဆိုင်ရာသတ်မှတ်ချက်များနှင့်သက်ဆိုင်သောသတ်မှတ်ချက်များကိုရရှိပြီးနောက်တိကျသောဇုန်အပလီကေးရှင်းများလိုအပ်ချက်များနှင့်ကိုက်ညီစေရန်အတွက်ထိရောက်သောနှင့်တိကျသောအချိန်ကာလစီမံခန့်ခွဲမှုရရှိနိုင်ရန် default time default zone ကိုသတ်မှတ်သည်။

 <span></span>