လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> DAIR_SUNSESSUSSESSUSSUSSESSUSSESSUSSET () function သည်မှားယွင်းစွာတုံ့ပြန်သနည်း။ အကြောင်းရင်းကဘာလဲ။

DAIR_SUNSESSUSSESSUSSUSSESSUSSESSUSSET () function သည်မှားယွင်းစွာတုံ့ပြန်သနည်း။ အကြောင်းရင်းကဘာလဲ။

M66 2025-06-23

PHP တွင် နေ့စွဲ () function ကိုသတ်မှတ်ထားသောအချိန်နှင့်အနေအထားကိုသတ်မှတ်ထားသည့်အချိန်နှင့်အနေအထားကိုတွက်ချက်ရန်အသုံးပြုသည်။ သို့သော်အချို့သောကိစ္စရပ်များတွင် function သည် မှားယွင်းသော အမှားများကိုပြန်ပို့သည်။ ဤဆောင်းပါးသည် နေ့စွဲကို ဖြစ်စေသည့်ဘုံအကြောင်းများကို မှားယွင်းစေပြီးမှားယွင်းသော နှင့်ဤပြ problems နာများကိုမည်သို့ရှောင်ရှားရန်အကြောင်းပြချက်များစွာသို့ငုပ်ပါလိမ့်မည်။

1 ။ parameters တွေကိုမမှန်မကန်လွန်နေကြသည်

Date_sunset () ၏ပုံမှန်အသုံးပြုမှုသည်အောက်ပါအတိုင်းဖြစ်သည် -

 date_sunset(
    int $timestamp,
    int $returnFormat = 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 $gmtOffset = 0
): string|int|false

အချို့သော parameters များကိုမှန်ကန်စွာမလွန်ကဲသော, အထူးသဖြင့်လတ်တီတွဒ် ( ဒေါ်လာလော်ထင်ထိ ) နှင့်လောင်ဂျီတွဒ် ($ လောင်ဂျီတွဒ် ( $ လောင်ဂျီတွဒ် ) သည် မှားယွင်းစွာ တုံ့ပြန်လိမ့်မည်။

ဥပမာ -

 // အမှားဥပမာ:လတ်တီဆီနှင့်လောင်ဂျီတွဒ်ကိုမသတ်မှတ်ပါ
$sunset = date_sunset(time());
if ($sunset === false) {
    echo "နေဝင်ချိန်အချိန်ကိုတွက်ချက်ရန်မရပါ";
}

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

 $sunset = date_sunset(time(), SUNFUNCS_RET_STRING, 31.7667, 35.2333, 90, 2);

2 ။ မမှန်ကန်သောလတ်တီတွဒ်သို့မဟုတ်လောင်ဂျီတွဒ်

အကယ်. ဝင်လာသောလတ်တီတွဒ်သည် -90 နှင့် 90 အကြားသို့မဟုတ်လောင်ဂျီတွဒ်သည် -180 နှင့် 180 ကြားတွင်မပါ 0 င ပါက function ကိုမှန်ကန်စွာကိုင်တွယ်ဖြေရှင်းလိမ့်မည်မဟုတ်ပါ

ဥပမာ -

 // မှားယွင်းသောလတ်တီတွဒ်နှင့်လောင်ဂျီတွဒ်
$sunset = date_sunset(time(), SUNFUNCS_RET_STRING, 1234, 5678); // အမှား

အဆိုပါ parameters တွေကိုစစ်မှန်တဲ့ပထဝီဝင်သွဒီနိတ်အကွာအဝေးနှင့်တွေ့ဆုံရန်သေချာပါစေ။

3 ။ Timestamp သည်ပံ့ပိုးမှုအကွာအဝေးထက်ကျော်လွန်နေသည်

Date_sunset () အသုံးပြုသောအတွင်းပိုင်းတွက်ချက်မှုသည် timestamp ပေါ်တွင်မူတည်သည်။ Timestamp သည် PHP မှပံ့ပိုးထားသောကိန်းဂဏန်းများထက်ကျော်လွန်ပါကမှားယွင်းသော အယူမှားသည်မှားသောအယူမှား ပြန်ပို့နိုင်သည်။

ဥပမာ -

 // ကေျာ်လွန် 32 timestamp system ကို timestamps အကွာအဝေး
$sunset = date_sunset(99999999999, SUNFUNCS_RET_STRING, 40.7128, -74.0060);

တရားဝင် timestamp ကိုထုတ်လုပ်ရန် အချိန် () သို့မဟုတ်ကျိုးကြောင်းဆီလျော်သော strtotime () ကို အသုံးပြုရန်အကြံပြုသည်။

4 ။ Configuration ကိုမှန်ကန်စွာသတ်မှတ်ထားခြင်းမရှိပါ ( Php.INI )

PHP သည်ပုံမှန်လတ်တီတွဒ်, လောင်ဂျီတွဒ်နှင့် zenith ကို php.ini ဖိုင်မှတဆင့်သတ်မှတ်ထားသည်။ အကယ်. ဤတန်ဖိုးများကိုမသတ်မှတ်ထားပါကသို့မဟုတ်မမှန်ကန်ပါက day_sunsetsunset () သည် သွယ်ဝိုက်လုပ်ကိုင်ရန်မအောင်မြင်နိုင်ပါ။

စစ်ဆေးရေးနည်းလမ်း:

 echo ini_get('date.default_latitude');
echo ini_get('date.default_longitude');

အကယ်. output သည်အချည်းနှီးဖြစ်လျှင်သို့မဟုတ် Non-Non-Non-Nonerical သည်ဤ parameters တွေကို code တွင်လက်ဖြင့်လုပ်သင့်သည်။

5 ။ အနေအထားတွင်မမြင်ရသောနေရောင်ဖြစ်စဉ်ကိုဖြစ်ပေါ်စေသည် (Polar ည)

Polar ဒေသများ၌နေရောင်သည်ယခုနှစ်တွင်မည်သည့်အခါကမျှမထနိုင်ပါ။ ဤကိစ္စတွင် DAWE_SUNSESSUMSESSUSSESSUSSESSESSESSESSET () သည် မှားယွင်းစွာ ပြန်လာနိုင်သည်။

ဥပမာ -

 // မြောက်ဝင်ရိုးစွန်းရှိတည်နေရာ,တစ်နေ့နေဝင်ချိန်မရှိပါ
$sunset = date_sunset(strtotime("2025-01-01"), SUNFUNCS_RET_STRING, 89.9, 135.0);

6 ။ အချိန်ဇုန်သို့မဟုတ် GMT offset setting ကို offset

နောက်ဆုံး parameter သည် ဒေါ်လာ gmtoffset သည် နာရီအတွင်း GMT (UTC) မှ offset ကိုထိန်းချုပ်သည်။ အကယ်. တန်ဖိုးမရှိတဲ့အတွက်မကျိုးကြောင်းဆီလျော်စွာသတ်မှတ်ထားပါက၎င်းသည်မကတည်းမဟုတ်ပါ။

ဥပမာ, ပေကျင်းအချိန် +8.0 ဖြစ်သင့်သည်။ -8.0 သတ်မှတ်ထားပါကသင်သည်မမှန်ကန်ကြောင်းရလဒ်သို့မဟုတ် မှားယွင်းသော ရနိုင်သည်။

ကောက်ချက်

Date_sunset () သည်အလွန်လက်တွေ့ကျသည့်အချိန်ဖြစ်သည်, သို့သော်၎င်းသည် parametersks မျိုးစုံပေါ်တွင်မူတည်သည် မှန်ကန်သောအသုံးပြုမှုတွင် -

  • ရှင်းရှင်းလင်းလင်း timestamp , လတ်တီတွဒ် နှင့် လောင်ဂျီတွဒ် ကဲ့သို့သော key parameters တွေကိုရှင်းရှင်းလင်းလင်း pass

  • php.ini တွင်သက်ဆိုင်ရာ configurations နှင့်ပြ problems နာများရှိမဆိုစစ်ဆေးပါ

  • အစွန်းရောက်ပထဝီသို့မဟုတ်အချိန်အခြေအနေများအောက်တွင်ခေါ်ဆိုမှုများကိုရှောင်ကြဉ်ပါ