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

မှန်ကန်သောနေဝင်ချိန်အချိန်ရရန်ကွဲပြားသောအချိန်ဇုန်များကိုမည်သို့သတ်မှတ်ရမည်နည်း

M66 2025-05-17

နေဝင်ချိန်အချိန်နှင့်သက်ဆိုင်သည့်အင်္ဂါရပ်များအသုံးပြုသော PHP application များပြုလုပ်သော PHP application များပြုလုပ်ရာတွင်အချိန်ဇုန်ချိန်ညှိချက်သည်အဓိကအချက်ဖြစ်သည်။ ဘာဖြစ်လို့လဲဆိုတော့နေဝင်ချိန်အချိန်တွေမှာအချိန်ဇုန်တွေမှာကွဲပြားခြားနားတဲ့အချိန်ဇုန်တွေမှာကွဲပြားခြားနားတဲ့အတွက်တိကျမှန်ကန်သောနေဝင်ချိန်အချိန်တွေကိုရတဲ့အခါအချိန်ဇုန်ကိုမှန်ကန်စွာသတ်မှတ်ထားဖို့သေချာအောင်လုပ်ဖို့လိုတယ်။ ဤဆောင်းပါးသည် PHP တွင်အချိန်ဇုန်များကိုမည်သို့ သတ်မှတ်. နေဝင်ချိန်အချိန်အတိအကျကိုရနိုင်ကြောင်းပြသပါလိမ့်မည်။ ကျွန်ုပ်တို့သည်ဤအရာကို External APIs နှင့်ပေါင်းစပ်ပြီး PHP code မှတဆင့်အောင်မြင်လိမ့်မည်။

1 ။ အချိန်ဇုန်ကိုသတ်မှတ်ပါ

PHP ၏ Date_Default_Timezone_set () function ကပုံမှန်အချိန်ဇုန်သတ်မှတ်ရန်ခွင့်ပြုသည်။ ပုံမှန်အားဖြင့် PHP စနစ်၏အချိန်ဇုန်ချိန်ညှိချက်များကိုအသုံးပြုသည်။ သို့သော်၎င်းကိုဤလုပ်ဆောင်မှုဖြင့်ကျော်လွှားနိုင်သည်။ ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည်အချိန်ဇုန်ကိုနယူးယောက်အချိန်သို့သတ်မှတ်သည်။

 <?php
date_default_timezone_set('America/New_York');
echo 'လက်ရှိအချိန်က:' . date('Y-m-d H:i:s');
?>

သာမန်အချိန်ဇုန်အမှတ်အသားမှာ -

  • အာရှ / ရှန်ဟိုင်း (Shanghai Time)

  • ဥရောပ / လန်ဒန် (လန်ဒန်အချိန်)

  • America / New_york (New York Time)

PHP Time ဇုန်စာရင်းတွင် အချိန်ပြည့်ဇုန်စာရင်းကိုသင်ရှာနိုင်သည်။

2 ။ နေဝင်ချိန်အတိအကျကိုရယူပါ

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

ဤနေရာတွင်နေဝင်ချိန်အချိန်တိုအတွင်းနေဝင်ချိန်အချိန်တိုအတွင်းရရန်ဤ API ကိုအသုံးပြုခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။

 <?php
// အချိန်ဇုန်သတ်မှတ်မည်
date_default_timezone_set('Asia/Shanghai');

// လတ်တီတွဒ်နှင့်လောင်ဂျီတွဒ်ထားကြ၏
$latitude = 31.2304;  // ရှန်ဟိုင်းရဲ့လတ်တီတွဒ်
$longitude = 121.4737; // ရှန်ဟိုင်း၏လောင်ဂျီတွဒ်

// အသုံးပြုAPIနေဝင်ချိန်အချိန်ကိုရယူပါ
$api_url = "https://api.sunset-sunrise.org/json?lat={$latitude}&lng={$longitude}&formatted=0";
$response = file_get_contents($api_url);
$data = json_decode($response, true);

// နေဝင်ချိန်အချိန်ခွဲခြမ်းစိတ်ဖြာ
$sunset_time = $data['results']['sunset'];
echo 'ရှန်ဟိုင်းရှိနေဝင်ချိန်သည်:' . $sunset_time;
?>

ဤကုဒ်တွင် API တောင်းဆိုချက်ကိုပေးပို့ရန် File_Get_Contents () function ကို အသုံးပြု. JSONS_Decode () မှတဆင့်ပြန်လာသည့် JSON အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာရန် file_get_contontents ကိုအသုံးပြုသည်။ $ ဒေတာ ['ရလဒ်များ'] ['Sunset'] တွင် UTC နေဝင်ချိန်တွင် UTC အချိန်ပါ 0 င်သည်။ ကျွန်ုပ်တို့သည်ဒေသစံတော်ချိန်ပြည့်နှက်ကြောင်းသေချာစေရန် Set Time Zone အဆိုအရဤအချိန်ကိုချိန်ညှိနိုင်သည်။

3 ။ UTC Time ကိုဒေသတွင်းအချိန်သို့ပြောင်းပါ

ရရှိသောနေဝင်ချိန်အချိန်သည်များသောအားဖြင့် UTC အချိန်ဖြစ်ပြီးကျွန်ုပ်တို့ရည်မှန်းထားသောအချိန်ဇုန်၏ဒေသဆိုင်ရာအချိန်သို့ပြောင်းရန်လိုအပ်သည်။ ၎င်းကို Datetime Class နှင့် Datetimezone အတန်းကို အသုံးပြု. အောင်မြင်နိုင်သည်။

ဤနေရာတွင် UTC အချိန်ကိုဒေသဆိုင်ရာအချိန်ဇယားသို့မည်သို့ပြောင်းလဲရမည်အတွက်နမူနာကုဒ်ဖြစ်သည်။

 <?php
// နေဝင်ချိန်အချိန်ကိုရယူပါ(UTC)
$utc_sunset_time = $data['results']['sunset']; // ထံမှယူဆAPIရရှိသောUTCအချိန်

// ဖန်တီးDateTimeအရာဝတ်ထုနှင့်အဖြစ်သတ်မှတ်UTCအချိန်ဇုန်
$datetime = new DateTime($utc_sunset_time, new DateTimeZone('UTC'));

// 转换为上海အချိန်ဇုန်
$datetime->setTimezone(new DateTimeZone('Asia/Shanghai'));

// 输出转换后的本地အချိန်
echo 'ရှန်ဟိုင်းရှိနေဝင်ချိန်သည်:' . $datetime->format('Y-m-d H:i:s');
?>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည် Datetime အရာဝတ်ထုတစ်ခုကိုပထမဆုံးဖန်တီးပြီး Datetimezone အတန်းမှတစ်ဆင့် UTC Time Zone သို့သတ်မှတ်သည်။ ထို့နောက်အချိန်ကိုရှန်ဟိုင်းအချိန်ဇုန် ( အာရှ / ရှန်ဟိုင်း ) သို့ပြောင်းရန် SETIMATZONZone () နည်းလမ်းကိုသုံးပါ။ နောက်ဆုံးတွင်ဒေသအလိုက် output လုပ်ရန် format () နည်းလမ်းကိုသုံးပါ။

4 ။ ပြီးပြည့်စုံသောကုဒ်ဥပမာ

ယခင်ကဏ် sections များအားလုံးကိုပေါင်းစပ်ပြီးအချိန်ဇယားကိုမည်သို့သတ်မှတ်ရန်နှင့်အတိအကျနေဝင်ချိန်အတိအကျကိုရယူရန်ပြသသည့် PHP Code နမူနာတစ်ခုရှိသည်။

 <?php
// အချိန်ဇုန်သတ်မှတ်မည်为上海
date_default_timezone_set('Asia/Shanghai');

// လတ်တီတွဒ်နှင့်လောင်ဂျီတွဒ်ထားကြ၏
$latitude = 31.2304;
$longitude = 121.4737;

// အသုံးပြုAPIနေဝင်ချိန်အချိန်ကိုရယူပါ
$api_url = "https://api.sunset-sunrise.org/json?lat={$latitude}&lng={$longitude}&formatted=0";
$response = file_get_contents($api_url);
$data = json_decode($response, true);

// ရယူUTCအချိန်
$utc_sunset_time = $data['results']['sunset'];

// ဖန်တီးDateTimeအရာဝတ်ထုနှင့်အဖြစ်သတ်မှတ်UTCအချိန်ဇုန်
$datetime = new DateTime($utc_sunset_time, new DateTimeZone('UTC'));

// 转换为上海အချိန်ဇုန်
$datetime->setTimezone(new DateTimeZone('Asia/Shanghai'));

// 输出日落အချိန်
echo 'ရှန်ဟိုင်းရှိနေဝင်ချိန်သည်:' . $datetime->format('Y-m-d H:i:s');
?>

အကျဉ်းချုပ်

အချိန်ဇုန်ကိုချိန်ညှိခြင်းနှင့် API ကိုအသုံးပြုခြင်းအားဖြင့်နေဝင်ချိန်အချိန်ရရန် API ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဒေသအသီးသီးတွင်နေဝင်ချိန်အချိန်ကိုတိကျစွာရနိုင်သည်။ ဒေသခံတိကျသောနေဝင်ချိန်အချိန်ရရန်အတွက်အချိန်ကာလကိုမှန်ကန်စွာသတ်မှတ်ထားရန်အရေးကြီးသည်။ တစ်ချိန်တည်းမှာပင် Datetime Class နှင့် Datetimezone အတန်းကိုမြှင့်တင်ခြင်းသည် UTC Time ကို Time Time Zone ၏ဒေသဆိုင်ရာအချိန်သို့ပြောင်းရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။