လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> timezone_name_get သည်မှားယွင်းသောအခါမည်သည့်နည်းလမ်းများကိုထိရောက်စွာကိုင်တွယ်နိုင်သနည်း။

timezone_name_get သည်မှားယွင်းသောအခါမည်သည့်နည်းလမ်းများကိုထိရောက်စွာကိုင်တွယ်နိုင်သနည်း။

M66 2025-06-11

အချိန်အခြေအနေမှီခိုစစ်ဆင်ရေးများအတွက် PHP ကိုအသုံးပြုသောအခါ datetimezone အရာဝတ်ထု၏အချိန်ဇုန်အမည်ရရှိရန် timezone_name_get () function ကိုအသုံးပြုနိုင်သည်။ သို့သော်အချို့ဖြစ်ရပ်များတွင်ဤလုပ်ဆောင်မှုသည် မှားယွင်းသော ပြန်လာပြီးပရိုဂရမ်ကိုအချိန်ဇယားအချက်အလက်မှန်ကန်စွာလုပ်ဆောင်ရန်ပျက်ကွက်နိုင်သည်။ ဤဆောင်းပါးသည် timezone_name_get သည် မှားယွင်းသော အားဖြည့်စွက်ခြင်းနှင့်မှန်ကန်မှုကိုသေချာစေရန်ဤအခြေအနေကိုထိရောက်စွာကိုင်တွယ်ရန်ဤအခြေအနေကိုထိရောက်စွာကိုင်တွယ်ရန်အသုံးပြုသောအခြားနည်းလမ်းများတီထွင်ဖန်တီးသူများအားလေ့လာနိုင်သည်။

1 ။ Timezone_name_get သည် မှားယွင်းသောအဘယ်ကြောင့်အကြောင်းပြချက်ကိုနားလည်ပါ

ပထမအချက်မှာများသောအားဖြင့် 0 င်ရောက်နေသော datetimezone ရာဝတ်ထုသည်ခိုင်လုံသော TimeZone အမည်ရှိသောကြောင့် သို့မဟုတ် အရာဝတ်ထုကိုမှန်ကန်စွာ အစပြု. မရပါ။ ဥပမာအားဖြင့်, အမှားတစ်ခုသို့မဟုတ်မတည်ရှိသည့်အချိန်ဇုန်အမှတ်အသားကိုအသုံးပြုသည်။ သို့မဟုတ် Datetimezone Office ဥပမာအားဖြင့်မတော်တဆပျက်စီးသွားသည်။

 <?php
$timezone = new DateTimeZone('Invalid/Timezone');
echo timezone_name_get($timezone); // ပြန်လာရန်ဖြစ်နိုင်သည် false
?>

2 ။ အခြားရွေးချယ်စရာဖြေရှင်းချက် 1: datetimezone :: getname () နည်းလမ်းကိုသုံးပါ

PHP 8.1 မှစတင်. Datetimezone အတန်းအစားသည်အချိန်ဇုန်အမည်ကိုတိုက်ရိုက်ရရှိနိုင်သည့် GetName () နည်းလမ်းကိုထည့်သွင်းထားပြီး TimeZone_Name_get () ထက်ပိုမိုသောအရာဝတ်ထုကိုပိုမိုနားလည်နိုင်သည်။ သင်ပထမ ဦး ဆုံးပြန်လာသောတန်ဖိုးသည်မှန်ကန်မှုရှိမရှိစစ်ဆေးပြီးဤနည်းလမ်းကိုသုံးနိုင်သည်။

 <?php
$timezone = new DateTimeZone('Asia/Shanghai');
$name = $timezone->getName();

if ($name === false || $name === null) {
    // မမှန်ကန်သောအခြေအနေများကိုကိုင်တွယ်ပါ
    $name = 'UTC'; // အခြားရွေးချယ်စရာပုံမှန်အချိန်ဇုန်
}
echo $name;
?>

3 ။ ရွေးစရာ 2 - ခြွင်းချက်များကိုဖမ်းယူခြင်းဖြင့်အချိန်ဇုန်သက်တမ်းရှိပါ

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

 <?php
try {
    $timezone = new DateTimeZone('Invalid/Timezone');
} catch (Exception $e) {
    // ပုံမှန်အချိန်ဇုန်အစားထိုးအသုံးပြုပါ
    $timezone = new DateTimeZone('UTC');
}

echo timezone_name_get($timezone);
?>

ဤနည်းလမ်းသည် timezone_name_get () ကိုနောက်ပိုင်းတွင်ဟုခေါ်သောအခါခိုင်လုံသောအချိန်ဇုန်အမည်ရရှိနိုင်ပါသည်။

4 ။ အခြားရွေးချယ်စရာဖြေရှင်းနည်းသုံး - Datetime Office ၏ format method ကိုသုံးပါ

အချိန်ဇုန်အမည်ကို Datetimezone မှတိုက်ရိုက်မရရှိနိုင်ပါက Datetime Office ၏ formatatting function ကို အသုံးပြု. အခြားအချိန်ဇုန်အတိုကောက်သို့မဟုတ် offset ကိုအခြားရွေးချယ်စရာသတင်းအချက်အလက်အဖြစ်ရယူနိုင်သည်။

 <?php
$timezone = new DateTimeZone('Invalid/Timezone');

try {
    $datetime = new DateTime('now', $timezone);
} catch (Exception $e) {
    $datetime = new DateTime('now', new DateTimeZone('UTC'));
}

// အချိန်ဇုန်အတိုကောက်ကိုရယူပါ,ဥပမာအားဖြင့် CST、PST
echo $datetime->format('T');

// သို့မဟုတ်အချိန်ဇုန် offset ရ,ဥပမာအားဖြင့် +0800
echo $datetime->format('O');
?>

5 ။ အခြားရွေးချယ်စရာ 4 - မှန်ကန်သောအချိန်ဇုန်စာရင်းသို့မဟုတ်မြေပုံကိုကိုယ်တိုင်လက်ဖြင့်ထိန်းသိမ်းပါ

အကယ်. အချိန်အတန်ကြာဇုန်သင်္ကေတများသည်ပရိုဂရမ်တွင်မသေချာမရေရာသည့်ဇုန်ကြိုးများပါ 0 င်ပါကအချိန်ဇုန်မြေပုံရေးဆွဲစားပွဲကိုကြိုတင်သတ်မှတ်ထားရန်, TimeZone_Name_get ကို ခေါ်သည့်အခါ၎င်းသည် မှားယွင်းစွာ ရှောင်တတ်သည်။

 <?php
$validTimezones = timezone_identifiers_list();

$inputTimezone = 'Invalid/Timezone';

if (!in_array($inputTimezone, $validTimezones)) {
    $inputTimezone = 'UTC'; // ပုံမှန်အချိန်ဇုန်ကိုသတ်မှတ်ပါ
}

$timezone = new DateTimeZone($inputTimezone);
echo timezone_name_get($timezone);
?>

6 ။ နိဂုံးချုပ်

timezone_name_get () ပြန်လာသည့်အခါ မှားယွင်းသောပြ problem နာမှာအခြေခံကျသောပြ problem နာမှာ Timezone Office သည်မမှန်ကန်ပါသို့မဟုတ် TimeZone အမည်မမှန်ကန်ပါ။ ဤပြ problem နာကို Object-Oriented နည်းလမ်းသစ်များအသုံးပြုခြင်း, Datetime ဖြင့်ထုတ်လုပ်မှုကိုပြုလုပ်ရန်နှင့်အချိန်ဇုန်စာရင်းများထိန်းသိမ်းခြင်းအားဖြင့်ဤပြ problem နာကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ တိကျသောအခြေအနေများအပေါ် အခြေခံ. အကျိုးသင့်အကြောင်းသင့်ရှိသောအခြားရွေးချယ်စရာများရွေးချယ်ခြင်းသည်အစီအစဉ်နှင့်အသုံးပြုသူအတွေ့အကြုံကိုအားကောင်းစေသည်။