လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ပြ the နာကိုဘယ်လိုဖြေရှင်းမလဲ TimeZone_identifiers_list function output fundomput fundom information မပါဝင်ပါ။

ပြ the နာကိုဘယ်လိုဖြေရှင်းမလဲ TimeZone_identifiers_list function output fundomput fundom information မပါဝင်ပါ။

gitbox 2025-06-10

PHP တွင် timezone_identifiers_list () function ကိုအချိန်ဇုန်နှင့်သက်ဆိုင်သောလုပ်ဆောင်မှုများကိုလုပ်ဆောင်သောအခါ developer များအတွက်အဆင်ပြေသောလူသိများသောအချိန်ဇုန်ဆိုင်ရာအမှတ်အသားအားလုံး၏စာရင်းကိုရရှိရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည် "အာရှ / ရှန်ဟိုင်း" , ဥရောပ / လန်ဒန် ကဲ့သို့သောအချိန်ဇုန်အမည်များပါ 0 င်သော etra တစ်ခုပါ 0 င်သည်။

ဤဆောင်းပါးသည်ဤပြ problem နာ၏အဓိကအကြောင်းရင်းကိုအသေးစိတ်ရှင်းပြပါမည်, နေ့ခင်းဘက်တွင်နေ့အလင်းရောင်ချွေတာချိန်၌နေ့ခင်းဘက်ဆိုင်ရာချွေတာမှုအချိန်ကိုမည်သည့်အစီအစဉ်နည်းအတိုင်းဆုံးဖြတ်ရန်နှင့်ဖြေရှင်းနိုင်မည်ကိုအသေးစိတ်ရှင်းပြပါမည်။


1 ။ ပြ problem နာနောက်ခံ

TimeZone_identifiers_list () အချိန်ဇုန်၏အမည်ကိုဖော်ပြထားရုံတင်ထားသည့်အချိန်ဇုန်၏အမည်ကိုသာဖော်ပြထားပြီးအချိန်ဇုန်ကိုအချိန်ဇယားအချိန်အတွက်အချိန်ဇယားဖွင့်ထားခြင်းရှိမရှိကိုမပြောပါ။ ဥပမာအားဖြင့် "ဥရောပ / လန်ဒန်" သည် "အာရှ / ရှန်ဟိုင်း" တွင်နေ့ခင်းဘက်ချိန်ညှိချက်များသည်နေ့အလင်းရောင်ချွေတာမှုများကိုချိန်ခွင်လျှာချွေတာလိမ့်မည်။ ဤ function ကိုသုံးရုံဖြင့်ရရှိသောစာရင်းကိုသင် ခွဲခြား. မရပါ။

အကယ်. သင်သည်ဤအချိန်ဇုန်ကြိုးများကိုအသုံးပြုပါကနေ့အလင်းရောင်ချွေတာချိန်ဆုံးဖြတ်ရန်တိုက်ရိုက်အသုံးပြုပါကအစီအစဉ်တွင်အမှားအယွင်းများသည်နေ့အလင်းရောင်ချွေတာချိန်ကိုပြောင်းရန်သို့မဟုတ်အချိန်အတိုင်းအတာများကိုပြောင်းလဲစေနိုင်သည်။


2 ။ ဖြေရှင်းနည်းများ

အချိန်ကာလဇုန်သည်မို light ်းလင်းချိန်မပြည့်စုံသောအချိန်ကိုထောက်ပံ့ခြင်းရှိမရှိဆုံးဖြတ်ရန် PHP ၏ Datetimezone အတန်းနှင့် datetime class ၏ပူးပေါင်းဆောင်ရွက်မှုကိုမှီခိုအားထားရန်လိုအပ်သည်။ ဒီစိတ်ကူးကအောက်ပါအတိုင်းဖြစ်သည် -

  1. အချိန်ဇုန်အမှတ်အသားတစ်ခုချင်းစီအတွက်အချိန်အရာဝတ်ထုများကိုနှစ်ကြိမ်မှတ်ဖြင့်ထုတ်လုပ်သည်။ နွေရာသီအချိန် (ဥပမာဇူလိုင်လ) နှင့်ဆောင်းရာသီ) ။

  2. Datetimezone :: Getoffsiet () နည်းလမ်းအားဖြင့် UTC offsets သည်ဤအချိန်အချက်နှစ်ချက်တွင် UTC Offsets ကိုနှိုင်းယှဉ်ကြည့်ပါ။

  3. အကယ်. offsets ကွဲပြားခြားနားလျှင်, ဆိုလိုသည်မှာအချိန်ဇုန်သည်မို light ်းလင်းချိန်အချိန်ကိုထောက်ပံ့သည်။ ဒီလိုမှမဟုတ်ရင်အဲဒါကိုမထောက်ပံ့ဘူး


3 ။ နမူနာကုဒ်

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

 <?php
$allTimezones = timezone_identifiers_list();

$dstTimezones = [];

foreach ($allTimezones as $timezone) {
    $tz = new DateTimeZone($timezone);

    // ဆောင်းရာသီအချိန်ယူပါ:1လ1နေ့
    $winter = new DateTime('2023-01-01', $tz);
    // နွေရာသီအချိန်ယူပါ:7လ1နေ့
    $summer = new DateTime('2023-07-01', $tz);

    // offset စက္ကန့်ကိုရယူပါ
    $winterOffset = $tz->getOffset($winter);
    $summerOffset = $tz->getOffset($summer);

    if ($winterOffset !== $summerOffset) {
        // ကွဲပြားခြားနားသော offsets,နွေရာသီအချိန်ရှိကြောင်းဖော်ပြသည်
        $dstTimezones[] = $timezone;
    }
}

// နေ့အလင်းရောင်ချွေတာသောအချိန်ကိုထောက်ပံ့သော output အချိန်ဇုန်
echo "<pre>";
print_r($dstTimezones);
echo "</pre>";
?>

ဤကုဒ်သည်အချိန်ဇုန်ဆိုင်ရာအမှတ်အသားများပါ 0 င်သည့်အချိန်ဇုန်ဆိုင်ရာအမှတ်အသားအားလုံးကို "Europe / London" ,


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

  • TimeZone_identifiers_list () သည် အချိန်ဇုန်စာရင်းကိုသာရနိုင်ပြီးနေ့အလင်းရောင်ချွေတာချိန်ကိုမအောင်မြင်ပါ။

  • UTC offsets များကိုတစ်ချိန်တည်းဇုန်တွင်အချိန်ကွဲပြားသောအချိန်မှတ်များဖြင့် UTC offsets များကိုနှိုင်းယှဉ်ခြင်းအားဖြင့်၎င်းသည်နေ့ခင်းဘက်တွင်ချွေတာသောအချိန်ကိုဖွင့်ထားခြင်းရှိမရှိကိုတိကျစွာတရားစွဲဆိုခြင်းခံရနိုင်သည်။

  • အချိန်အတိအကျကိုအချိန်ဇုန်များအပေါ် ထား. တင်ပြချက်များနှင့်တင်ပြချက်များနှင့်ပတ်သက်သောတင်ပြချက်များနှင့်ပတ်သက်သောတင်ပြချက်များနှင့် ပတ်သက်. သင့်လျော်စွာစီရင်ခြင်းနေ့အလင်းရောင်ချွေတာချိန်၏အချိန်မီပံ့ပိုးမှုသည်အချိန်ရှုပ်ထွေးမှုများကိုရှောင်ရှားနိုင်သည်။

ဤဆောင်းပါးမှတစ်ဆင့် developer များကအစီအစဉ်ကိုနေ့အလင်းရောင်ချွေတာချိန်အတွင်းပရိုဂရမ်ကိုမှန်ကန်စွာလည်ပတ်နေစေရန်အတွက်အချိန်ကိုပိုမိုတိကျစွာထိန်းချုပ်နိုင်သည်။