PHP ၏ DAID_SUNSETSTSESSUTEST function သည် UTC Timestamp သို့ပြန်ပို့သည်။ အကယ်. သင်၏ဆာဗာအချိန်ဇုန်ချိန်ညှိချက်များသည်အမှန်တကယ်အချိန်ဇုန်နှင့်ကိုက်ညီမှုမရှိပါကပြသသည့်အချိန်၌အမှားအယွင်းများဖြစ်ပေါ်စေနိုင်သည်။ ထို့ကြောင့်ပထမအဆင့်မှာ Date_sunset ဟုမခေါ်မီမှန်ကန်သောအချိန်ဇုန်ကိုသတ်မှတ်ရန်သေချာစေရန်ဖြစ်သည်။
<span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>); </span><span><span class="hljs-comment">// အချိန်ဇယားကိုရှန်ဟိုင်းအချိန်သတ်မှတ်ပါ</span></span><span>
</span></span>ဤနည်းအားဖြင့်သင်နောက်ဆက်တွဲတွက်ချက်မှုများသည်မှန်ကန်သောအချိန်ဇုန်အပေါ်အခြေခံထားကြောင်းသင်သေချာစွာသိနိုင်သည်။
Day_Sunsunets သည် UTC Timestamp ကိုပြန်လည်ရောက်ရှိသောကြောင့်သင်၏ပထဝီဝင်နေရာသည် UTC Time Zone မဟုတ်လျှင်အချိန်ကွာခြားချက်ကိုကိုယ်တိုင်ညှိရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, ပေကျင်းအချိန်သည် UTC အချိန်ထက် 8 နာရီပိုမြန်သည်, ၎င်းကိုရိုးရှင်းသောဖြည့်စွက်ခြင်းဖြင့်ချိန်ညှိနိုင်သည်။
<span><span><span class="hljs-variable">$sunsetTimestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_TIMESTAMP, </span><span><span class="hljs-number">39.9042</span></span><span>, </span><span><span class="hljs-number">116.4074</span></span><span>); </span><span><span class="hljs-comment">// ပေကျင်းလွင့်လန်းလတ်တီတွဒ်လောင်</span></span><span>
</span><span><span class="hljs-variable">$localSunset</span></span><span> = </span><span><span class="hljs-variable">$sunsetTimestamp</span></span><span> + (</span><span><span class="hljs-number">8</span></span><span> * </span><span><span class="hljs-number">3600</span></span><span>); </span><span><span class="hljs-comment">// ပေကျင်းအချိန်တွင်ချိန်ညှိ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ပေကျင်းနေဝင်ချိန်အချိန်: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d H:i:s"</span></span><span>, </span><span><span class="hljs-variable">$localSunset</span></span><span>);
</span></span>Daylight Saving Time သည်အချိန်တွက်ချက်မှုကိုထိခိုက်သောဘုံအချက်ဖြစ်သည်။ အချို့ဒေသများတွင်နေ့အလင်းရောင်ချွေတာချိန်သည်ဒေသအလိုက်စံချိန်စံညွှန်းကိုစံသတ်မှတ်ချက်ဖြင့်ပြုလုပ်နိုင်သည်။ သင်၏လျှောက်လွှာသည်နေ့အလင်းရောင်ချွေတာချိန်ကိုထောက်ပံ့ရန်လိုအပ်ပါက PHP ရှိ Built-in Datetime Class မှတစ်ဆင့်နေ့အလင်းရောင်ချွေတာသောအချိန်ကိုအလိုအလျောက်ကိုင်တွယ်နိုင်သည်။
<span><span><span class="hljs-variable">$datetime</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTime</span></span><span>();
</span><span><span class="hljs-variable">$datetime</span></span><span>-></span><span><span class="hljs-title function_ invoke__">setTimestamp</span></span><span>(</span><span><span class="hljs-variable">$sunsetTimestamp</span></span><span>);
</span><span><span class="hljs-variable">$datetime</span></span><span>-></span><span><span class="hljs-title function_ invoke__">setTimezone</span></span><span>(</span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTimeZone</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>)); </span><span><span class="hljs-comment">// နေ့အလင်းရောင်ချွေတာချိန်ကိုအလိုအလျောက်စဉ်းစားပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ချိန်ညှိနေဝင်ချိန်အချိန်: "</span></span><span> . </span><span><span class="hljs-variable">$datetime</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span></span>ဤနည်းအားဖြင့် PHP သည်နေ့အလင်းရောင်ချွေတာချိန်ကိုအချိန်ဇုန်စည်းမျဉ်းစည်းကမ်းများအရချိန်ညှိရန်လိုအပ်သည်ကိုအလိုအလျောက်ဆုံးဖြတ်လိမ့်မည်။
တခါတရံကျွန်ုပ်တို့သည် timestamp မလိုအပ်ပေ။ သို့ဆိုလျှင် Sunfuncals_ret_String Parameter ကို သုံးနိုင်သည်။ ၎င်းသည် formatatted အချိန် string ကိုတိုက်ရိုက်ပြန်ပို့လိမ့်မည်။ ဥပမာအားဖြင့်:
<span><span><span class="hljs-variable">$sunsetTime</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_STRING, </span><span><span class="hljs-number">39.9042</span></span><span>, </span><span><span class="hljs-number">116.4074</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"နေဝင်ချိန်: "</span></span><span> . </span><span><span class="hljs-variable">$sunsetTime</span></span><span>;
</span></span>ဤအချိန်တွင်ပြန်လာသည့်အချိန်သည်ဒေသစံတော်ချိန်ဇုန်တွင်အချိန်ဖြစ်ပြီးအချိန်ကာလကိုမှန်ကန်စွာပြင်ဆင်ရန်လိုအပ်သည်။
တခါတရံဆာဗာ၏လက်ရှိအချိန်ဇုန်ချိန်ညှိချက်များနှင့် ပတ်သက်. သင်မရှင်းလင်းပါ။ လက်ရှိအခြေအနေဇုန်ကို Date_Default_Timezone_get function မှတဆင့်ရနိုင်ပြီး၎င်းကိုအဖြေများကိုချိန်ညှိနိုင်သည်။
<span><span><span class="hljs-variable">$currentTimezone</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_default_timezone_get</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိအချိန်ဇုန်: "</span></span><span> . </span><span><span class="hljs-variable">$currentTimezone</span></span><span>;
</span></span>ဤနည်းအားဖြင့်သင်သည်လက်ရှိအချိန်တွင်လက်ရှိအခြေအနေဇုန်ကိုရနိုင်ပြီးသက်ဆိုင်ရာချိန်ညှိမှုများပြုလုပ်နိုင်သည်။
အချို့ဖြစ်ရပ်များတွင် Date_sunset မှပြန်လာသောအချိန်သည်အမှားသေးသေးလေးရှိနေသေးသည်။ ဤအမှားများသည်များသောအားဖြင့်ရာသီဥတု, ပထဝီအနေအထားအရအချက်များကဲ့သို့သောအချက်များနှင့်သက်ဆိုင်သည်။ သငျသညျ (ဥပမာမှတ်တမ်းများကိုကြည့်ခြင်းအားဖြင့်) တိကျသောသွေဖည်ကိုသိလျှင်, သင်ပြန်လာသော timestamp ကိုကိုယ်တိုင်ပြုပြင်နိုင်သည် -
<span><span><span class="hljs-variable">$sunsetAdjusted</span></span><span> = </span><span><span class="hljs-variable">$sunsetTimestamp</span></span><span> + </span><span><span class="hljs-number">600</span></span><span>; </span><span><span class="hljs-comment">// သင့်အောင်လုပ်ခြင်း10မိနစ်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ချိန်ညှိနေဝင်ချိန်အချိန်: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d H:i:s"</span></span><span>, </span><span><span class="hljs-variable">$sunsetAdjusted</span></span><span>);
</span></span>Timestamp ကို နေ့စွဲဖြင့် ပြန်လည်ပြုပြင်သည့်အခါအချိန်ဇယားကဲ့သို့အချိန်ဇုန်ကဲ့သို့အချိန်များ, နေ့အလင်းရောင်ချွေတာချိန်နှင့်ပထဝီအနေအထားကိုထည့်သွင်းစဉ်းစားရန်လိုအပ်သည်။ အထက်ပါနည်းလမ်းများမှတဆင့်ကျွန်ုပ်တို့သည်ပြန်လာသောအချိန်သည်အမှန်တကယ်အချိန်နှင့်ပိုမိုကိုက်ညီမှုရှိစေရန်သေချာစေနိုင်သည်။ လက်တွေ့ကျသောအပလီကေးရှင်းများ၌ timestamp ကို datetime class, time time settings နှင့်ပိုမိုတိကျစွာချိန်ညှိနိုင်သည်။