နေဝင်ချိန်အချိန်နှင့်သက်ဆိုင်သည့်အင်္ဂါရပ်များအသုံးပြုသော PHP application များပြုလုပ်သော PHP application များပြုလုပ်ရာတွင်အချိန်ဇုန်ချိန်ညှိချက်သည်အဓိကအချက်ဖြစ်သည်။ ဘာဖြစ်လို့လဲဆိုတော့နေဝင်ချိန်အချိန်တွေမှာအချိန်ဇုန်တွေမှာကွဲပြားခြားနားတဲ့အချိန်ဇုန်တွေမှာကွဲပြားခြားနားတဲ့အတွက်တိကျမှန်ကန်သောနေဝင်ချိန်အချိန်တွေကိုရတဲ့အခါအချိန်ဇုန်ကိုမှန်ကန်စွာသတ်မှတ်ထားဖို့သေချာအောင်လုပ်ဖို့လိုတယ်။ ဤဆောင်းပါးသည် PHP တွင်အချိန်ဇုန်များကိုမည်သို့ သတ်မှတ်. နေဝင်ချိန်အချိန်အတိအကျကိုရနိုင်ကြောင်းပြသပါလိမ့်မည်။ ကျွန်ုပ်တို့သည်ဤအရာကို External APIs နှင့်ပေါင်းစပ်ပြီး PHP code မှတဆင့်အောင်မြင်လိမ့်မည်။
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 ဇုန်စာရင်းတွင် အချိန်ပြည့်ဇုန်စာရင်းကိုသင်ရှာနိုင်သည်။
နေဝင်ချိန်အတိအကျကိုရရန်တတိယပါတီ 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 အဆိုအရဤအချိန်ကိုချိန်ညှိနိုင်သည်။
ရရှိသောနေဝင်ချိန်အချိန်သည်များသောအားဖြင့် 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 () နည်းလမ်းကိုသုံးပါ။
ယခင်ကဏ် 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 ၏ဒေသဆိုင်ရာအချိန်သို့ပြောင်းရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။