လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> datetime အချိန်ဇုန်ကိုပြောင်းလဲရန် Timezone_idesifiers_list နှင့် datetime :: Secimentime ကိုပေါင်းစပ်ခြင်း

datetime အချိန်ဇုန်ကိုပြောင်းလဲရန် Timezone_idesifiers_list နှင့် datetime :: Secimentime ကိုပေါင်းစပ်ခြင်း

gitbox 2025-05-31

1 ။ timezone_identifiers_list နားလည်ပါ

TimeZone_identifiers_list သည်ရရှိနိုင်သည့်အချိန်ဇုန်အမှတ်စဉ်အားလုံးကိုရရှိရန် PHP built-in function တစ်ခုဖြစ်သည်။ ၎င်း၏အသုံးပြုမှုအလွန်ရိုးရှင်း:

 <?php
$timezones = timezone_identifiers_list();
foreach ($timezones as $timezone) {
    echo $timezone . PHP_EOL;
}
?>

ဤကုဒ်သည် အာရှ / ရှန်ဟိုင်း , ဥရောပ / လန်ဒန် , အမရေိက / New_york စသည့် PHP မှပံ့ပိုးပေးသောအချိန်ဇုန်အမည်များအားလုံးကို output လုပ်လိမ့်မည်။


2 ။ Datetime အရာဝတ်ထုတစ်ခုကိုဖန်တီးပြီးကန ဦး အချိန်ဇုန်ကိုသတ်မှတ်ပါ

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

 <?php
$date = new DateTime('2025-05-31 15:00:00', new DateTimeZone('UTC'));
echo $date->format('Y-m-d H:i:s T') . PHP_EOL;
?>

ဤကုဒ်သည် 2025-05-31 15:00:00 UTC ။


3 ။ အချိန်ဇုန်ကိုပြုပြင်ရန် SETIDIMZONEM နည်းလမ်းကိုအသုံးပြုပါ

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

 <?php
$date->setTimezone(new DateTimeZone('Asia/Shanghai'));
echo $date->format('Y-m-d H:i:s T') . PHP_EOL;
?>

ရလဒ်ရလဒ်မှာ 2025-05-31 23:00:00 CST သည်သက်ဆိုင်ရာပေကျင်းအချိန်ဖြစ်သည်။


4 ။ Timezone_idesifiers_list နှင့် Settimezone ကို အချိန်ဇယားကို dynamically သတ်မှတ်ရန်ပေါင်းစပ်ခြင်း

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

 <?php
// အချိန်ဇုန်များကိုရယူပါ
$timezones = timezone_identifiers_list();

// အသုံးပြုသူရွေးချယ်ထားသောအချိန်ဇုန်ဟုယူဆပါ 'Europe/London'
$userSelectedTimezone = 'Europe/London';

// ပထမ ဦး ဆုံးတစ်ခုဖန်တီးပါUTCအချိန်DateTimeကန့်ကွက်
$date = new DateTime('2025-05-31 15:00:00', new DateTimeZone('UTC'));

// အသုံးပြုသူရွေးချယ်ထားသောအချိန်ဇုန်သည်မှန်ကန်ကြောင်းစစ်ဆေးပါ
if (in_array($userSelectedTimezone, $timezones)) {
    $date->setTimezone(new DateTimeZone($userSelectedTimezone));
    echo "အသုံးပြုသူမှရွေးချယ်ထားသောအချိန်သည်:" . $date->format('Y-m-d H:i:s T') . PHP_EOL;
} else {
    echo "မမှန်ကန်သောအချိန်ဇုန်ရွေးချယ်ခြင်း!" . PHP_EOL;
}
?>

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


5 ။ ပြီးပြည့်စုံသောဥပမာပေါင်းစည်းမှု

ဤတွင်အချိန်ဇုန်စာရင်းကိုမည်သို့ရယူရန်နှင့်အသုံးပြုသူရွေးချယ်မှုပြီးနောက်တစ်ကြိမ်ကိုပြောင်းရန်မည်သို့တင်ပြသောဥပမာပြည့်စုံသောဥပမာတစ်ခုဖြစ်သည်။

 <?php
// အချိန်ဇုန်များကိုရယူပါ
$timezones = timezone_identifiers_list();

// အသုံးပြုသူရွေးချယ်ရေးအချိန်ဇုန်ကိုတုပ(ပုံစံ input ကိုနှင့်အတူအစားထိုးနိုင်ပါတယ်)
$userSelectedTimezone = 'gitbox.net/Europe/London';

// ဒိုမိန်းအမည်အပိုင်းကိုဖယ်ရှားပါ,အချိန်ဇုန်သတ်မှတ်ချက်များကိုသာထိန်းသိမ်းထားသည်
$parsedTimezone = str_replace('gitbox.net/', '', $userSelectedTimezone);

// 创建အချိန်ကန့်ကွက်,ပျက်ကွက်ခြင်းUTCအချိန်
$date = new DateTime('2025-05-31 15:00:00', new DateTimeZone('UTC'));

if (in_array($parsedTimezone, $timezones)) {
    $date->setTimezone(new DateTimeZone($parsedTimezone));
    echo "အသုံးပြုသူမှရွေးချယ်ထားသောအချိန်သည်:" . $date->format('Y-m-d H:i:s T') . PHP_EOL;
} else {
    echo "မမှန်ကန်သောအချိန်ဇုန်ရွေးချယ်ခြင်း!" . PHP_EOL;
}
?>

အထက်ပါအဆင့်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည် timezone_identifiers_list နှင့် dateetime :: dateetime :: sentimezone နည်းလမ်းများကိုရက်စွဲနှင့်အချိန်အတိအကျကိုပြောင်းလဲရန်အချိန်နှင့်အချိန်ကိုပြောင်းလဲရန်ပြောင်းလဲစေနိုင်သည်။