လက်ရှိ PHP မှ conferced default time zone အညီ ရက်စွဲ () function outputs အချိန်။ default time zone ကို Date -Default_Timezone_set () မှတဆင့်သတ်မှတ်နိုင်သည်။ သို့မဟုတ် Php.ini မှဖတ်ပါ။
GMDate () function သည် Greenwich Standard Time (UTC) ကိုအမြဲတမ်းပြန်ပို့သည်။ ပုံမှန်အချိန်ဇုန်ချိန်ညှိချက်များကြောင့်ထိခိုက်မှုမရှိပါ။
<?php
// ပုံမှန်အချိန်ဇုန်ကိုရှန်ဟိုင်းအချိန်သတ်မှတ်ပါ(အရှေ့အ eight ္ဌမခရိုင်)
date_default_timezone_set('Asia/Shanghai');
echo "date() output ကိုအချိန်:" . date('Y-m-d H:i:s') . "\n"; // output ကိုဒေသခံအချိန်,ဥပမာအားဖြင့် 2025-05-22 16:00:00
echo "gmdate() output ကိုအချိန်:" . gmdate('Y-m-d H:i:s') . "\n"; // ထုတ်လုပ်ခြင်း UTC အချိန်,ဥပမာအားဖြင့် 2025-05-22 08:00:00
?>
ဤကုဒ်သည် ရက်စွဲ () နှင့် GMDate () output သည်ခြားနားချက်ကိုပြသသည်။ ၎င်းကိုအသုံးပြုသောအခါသင်အာရုံစိုက်ရမည်။
အကယ်. သင်၏လျှောက်လွှာယုတ္တိဗေဒသည်ဒေသဆိုင်ရာအချိန်နှင့် UTC အချိန်နှစ်မျိုးလုံးလိုအပ်လျှင်,
Timestamp Uniform <bress <br> Timestamps ( TimeTamps ) ကို အသုံးပြု. format ချထားသောအချိန်ညှင်းပမ်းမှုကိုရှောင်ရှားရန်အချိန်နှင့်အမျှကိုယ်စားပြုမှုအဖြစ်အသုံးပြုပါ။
အချိန်ဇုန်များကိုပြောင်းလဲသည့်အခါ dateTime လူတန်းစားကိုသုံးပါ
PHP ၏ datetime နှင့် datetimezone အတန်းများသည် ပိုမို. အင်အားကြီးပြီးပြောင်းလွယ်ပြင်လွယ်သောအချိန်ဇုန်ပြောင်းလဲခြင်းစွမ်းရည်များကိုပေးသည်။
<?php
// လက်ရှိတစ်ခုရယူပါ UTC အချိန်
$utcTime = new DateTime('now', new DateTimeZone('UTC'));
// သေတမ်းစာ UTC အချိန်转换为ရှန်ဟိုင်းအချိန်
$localTime = clone $utcTime;
$localTime->setTimezone(new DateTimeZone('Asia/Shanghai'));
echo "UTC အချိန်:" . $utcTime->format('Y-m-d H:i:s') . "\n";
echo "ရှန်ဟိုင်းအချိန်:" . $localTime->format('Y-m-d H:i:s') . "\n";
?>
၎င်းသည် GMDate () နှင့် နေ့စွဲ () ရက်စွဲကို အသုံးပြုခြင်းအကြားရှုပ်ထွေးမှုများကိုရှောင်ရှားရန်သာမကအချိန်ဇုန်များကိုရှင်းလင်းစွာထိန်းချုပ်နိုင်ရန်ခွင့်ပြုသည်။
GMDate () မှရရှိသော string ကိုဒေသအလိုက်အဖြစ်တိုက်ရိုက်မသုံးပါနှင့်။
အကယ်. သင်သည် UTC timestamp သို့မဟုတ် format string ကိုထုတ်လုပ်ရန်လိုအပ်ပါက GMDate () ကိုယုံကြည်မှုဖြင့်အသုံးပြုနိုင်သည်။
အကယ်. သင်သည် timestamp ကိုဒေသအလိုက်ပုံစံပြုလိုပါက ရက်စွဲ () function ကို သုံး. အချိန်ဇုန်ကိုသတ်မှတ်ပါ။
<?php
function formatTimeWithTimezone(int $timestamp, string $timezone = 'Asia/Shanghai'): string {
$dt = new DateTime("@$timestamp"); // 使用အချိန်戳创建 DateTime ကန့်ကွက်,ပုံမှန်ဖြစ်ပါတယ် UTC
$dt->setTimezone(new DateTimeZone($timezone)); // ပစ်မှတ်အချိန်ဇုန်သတ်မှတ်မည်
return $dt->format('Y-m-d H:i:s T'); // ထုတ်လုပ်ခြင်း带时区缩写的အချိန်
}
$nowTimestamp = time();
echo "当前အချိန်(ရှန်ဟိုင်း):" . formatTimeWithTimezone($nowTimestamp, 'Asia/Shanghai') . "\n";
echo "当前အချိန်(UTC):" . formatTimeWithTimezone($nowTimestamp, 'UTC') . "\n";
?>
ဤသည် output အချိန်တိကျသေချာစေရန်နှင့်အချိန်ဇုန်သတင်းအချက်အလက်ရှိပါတယ်သေချာစေရန်နှင့်ရှုပ်ထွေးမှုများကြောင့်အမှားများကိုရှောင်ရှားရန်သေချာစေသည်။
GMDate () သည် UTC Time ကိုပြန်ပို့သည်။
အချိန်ယူသောအခါအချိန်ကုန်လွန်သည့်အချိန်ကိုအသုံးချသည့်အချိန်ပုံစံအဖြစ်အသုံးပြုရန်အကြံပြုပါသည်။
အချိန်ဇုန်ပြောင်းလဲခြင်းကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်ကိုင်တွယ်ရန် datetime နှင့် datetimezone အတန်းများကိုသုံးပါ။
အချိန်ဇုန်ရှုပ်ထွေးမှုများကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုရှောင်ရှားရန် GMDate () နှင့် နေ့စွဲ () ရက်စွဲ ကိုမရောနှောပါနှင့်။
ဤသော့အချက်များကိုကျွမ်းကျင်ပြီးနောက်သင်၏ PHP အချိန်သည်အချိန်ကုန်လွန်သည့်အခါအချိန်ဇယားရှုပ်ထွေးမှုများကိုရှောင်ရှားခြင်း,