PHP ၏ Date_SunsetsunSet () function ကိုအသုံးပြုသောနေ့, လတ်တီတွဒ်နှင့်လောင်ဂျီတွဒ်နှင့်အခြား parametersters အပေါ် အခြေခံ. နေဝင်ချိန်အချိန်ကိုတွက်ချက်ရန်အသုံးပြုသည်။ သို့သော်ဤလုပ်ဆောင်မှုကိုအသုံးပြုသောအခါ developer များစွာသည်ရလဒ်အနေဖြင့်ပြန်လည်ထူထောင်ခြင်းမတိကျသောရလဒ်များ, ဤပြ problem နာသည် function ကိုယ်နှိုက်တွင် bug တစ်ခုဖြစ်ပုံရသည်,
Date_Sunset Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
date_sunset(
int $timestamp,
int $format = SUNFUNCS_RET_STRING,
float $latitude = ini_get("date.default_latitude"),
float $longitude = ini_get("date.default_longitude"),
float $zenith = ini_get("date.sunset_zenith"),
float $gmt_offset = 0
): string|int|float|false
ဒီ function က timestamp (များသောအားဖြင့် strtotime () ) နှင့်ပထဝီဝင်သုံး parameters တွေကိုနှင့်ပထဝီဝင်သုံး parameters တွေကိုစီးရီးတစ်စီးရီးကိုပြန်ယူပြီး, အဓိက parameter: $ gmt_Offset အတွက်အဓိက parameter: $ gmt_offset , က GMT offset ဖြစ်ပါတယ်။
အကယ်. သင်သည် $ gmt_Offset ကို မပေးလျှင် PHP သည်လက်ရှိအချိန်ဇုန်ပြင်ဆင်မှု (I.E. DATIMEZONZON ) ကို အသုံးပြု. PHP သည် offset ကိုတွက်ချက်ရန်ကြိုးစားလိမ့်မည်။ အကယ်. အချိန်ဇုန်ကိုမမှန်မကန်သို့မဟုတ်မသတ်မှတ်ထားပါကတွက်ချက်မှုရလဒ်များသည်အမှန်တကယ်တန်ဖိုးနှင့်ဆက်စပ်လိမ့်မည်။
လိုက်ဖက်တဲ့အကြောင်းပြချက်တွေကြောင့်ဆာဗာများစွာကို PHP ရဲ့ပုံမှန်အချိန်ဇုန်မှာသတ်မှတ်ထားမှာမဟုတ်ဘူး, ဒါမှမဟုတ် UTC ကိုသတ်မှတ်ထားနိုင်တယ်။ အဓိပ်ပါယျမှာ:
နေဝင်ချိန်အချိန်ကို UTC အချိန်မဟုတ်ဘဲဒေသအလိုက်မဟုတ်ပါ။
အကယ်. သင်သည်ဤအချိန်ကို string တစ်ခုအနေဖြင့်တိုက်ရိုက်ထုတ်ယူပါကသို့မဟုတ် format လုပ်ပါကသင်၏ in ရိယာတွင်အစစ်အမှန်နေဝင်ချိန်နှင့်မကိုက်ညီပါလိမ့်မည်။
ဥပမာအားဖြင့်:
echo date_sunset(strtotime('2025-04-26'), SUNFUNCS_RET_STRING, 31.2304, 121.4737); // ရှန်ဟိုင်းကိုသွဒီနိတ်
Default Time Zone တွင် "09:54" ဖြစ်နိုင်သည်, သို့သော်သင်မျှော်လင့်ထားသည့်အချိန်မှာ "09:54" ဖြစ်နိုင်သည်။
အများဆုံးအကြံပြုသည့်နည်းလမ်းမှာလိုအပ်သောအချိန်ဇုန်ကို script တွင်အတိအလင်းသတ်မှတ်ရန်ဖြစ်သည်။ ဥပမာအားဖြင့်:
date_default_timezone_set('Asia/Shanghai');
၎င်းသည် DAIR_SUNSETSETS အပါအ 0 င်အချိန်တိုင်းလုပ်ဆောင်မှုများကိုသက်ရောက်သည်။ ရှန်ဟိုင်းသွဒီနိတ်များနှင့် တွဲဖက်. အသုံးပြုသောအခါပြန်လာချိန်သည်အရှေ့ရှစ်ခရိုင်ဖြစ်မည်ဖြစ်သည်။
အကယ်. သင်သည် Global Time Zone ချိန်ညှိချက်များကိုမပြုပြင်လိုပါက $ gmt_Offset Parameter သည်အချိန်ဇယားဆွဲခြင်းဖြင့်အချိန်ဇယားကိုကိုယ်တိုင်ကိုယ်ကျအားကိုယ်တိုင်သတ်မှတ်နိုင်သည်။ ဥပမာအားဖြင့်:
echo date_sunset(strtotime('2025-04-26'), SUNFUNCS_RET_STRING, 31.2304, 121.4737, 90.83, 8);
နောက်ဆုံး parameter 8 သည်အရှေ့ရှစ်ခရိုင် (GMT + 8) ကိုကိုယ်စားပြုသည်။
ဆာဗာအဆင့်မှ PHP configuration file (php.ini) ကိုပြုပြင်နိုင်သည်။
date.timezone = "Asia/Shanghai"
ပြုပြင်မွမ်းမံပြီးနောက်ဝက်ဘ်ဆာဗာ (Nginx သို့မဟုတ် Apache) ကိုပြန်လည်စတင်ရန်သတိရပါ။
လျှောက်လွှာများအတွက်၎င်းသည် အချိန်ကာလကိုအတိအလင်းအတိအလင်းသတ်မှတ်ရန် အလုံခြုံဆုံးဖြစ်သည်။
Framework Projects များအတွက် default time zone ကိုမူဘောင်စတင်ခြင်းတွင်သတ်မှတ်ထားကြောင်းသေချာအောင်လုပ်ပါ။
နေရာများစွာသို့ချထားသည့်စနစ်များအတွက်အသုံးပြုသူတည်နေရာအရ $ GMT_Offset ကိုချိန်ညှိခြင်းအားစဉ်းစားပါ။
Date_Sunsetsetsetsetsetsetsetset () function ၏အပြုအမူသည်လက်ရှိအချိန်ဇုန်ပြင်ဆင်မှုပေါ်တွင်မူတည်သည်။ အကယ်. သင်သည် ရက်စွဲတစ်ခု သို့မဟုတ် $ gmt_offsite ကို မှန်ကန်စွာမသတ်မှတ်ပါကသင်ရရှိသောနေဝင်ချိန်အချိန်သည်လုံးဝတိကျမှန်ကန်မှုရှိနိုင်သည်။ PHP သည်အချိန်ဇုန်များသည်အချိန်ဇုန်များကိုမည်သို့ကိုင်တွယ်သည်ကိုနားလည်ခြင်းနှင့်လိုအပ်သလိုလိုအပ်သလိုသူတို့အားကျိုးကြောင်းဆီလျော်စွာသတ်မှတ်ခြင်းသည်ထိုကဲ့သို့သောအချိန် function များကိုအသုံးပြုရန်သော့ချက်ဖြစ်သည်။
ဖွံ့ဖြိုးရေးနှင့်ဖြန့်ကျက်နေစဉ်အတွင်းအချိန်အမှားများကိုရှောင်ရှားရန်သင်၏ PHP configuration ကိုစစ်ဆေးရန်သတိရပါ။