ဤလုပ်ဆောင်မှု၏အခြေခံအသုံးပြုမှုပုံစံမှာအောက်ပါအတိုင်းဖြစ်သည် -
$tz = new DateTimeZone('America/New_York');
$transitions = timezone_transitions_get($tz);
သို့မဟုတ်အတိုကောက်အဖြစ်:
$transitions = (new DateTimeZone('America/New_York'))->getTransitions();
ပြန်လာသော ဒေါ်လာအသွင်ကူးပြောင်းမှု သည်ခင်းကျင်းမှုတစ်ခုဖြစ်သည်။ element တစ်ခုစီသည်အောက်ပါနယ်ပယ်များပါ 0 င်သည့် activitive ခင်းကျင်းခြင်းဖြစ်သည်။
TS : Timestamp (Integer)
အချိန် - ISO format time (string)
Offset : Offset (UTC နှင့်ဆွေမျိုးအရေအတွက်)
ISDST - နေ့အလင်းရောင်ချွေတာချိန် (Boolean Value)
Absbr : လက်ရှိအချိန်အတိုကောက် (ဥပမာ EDT သို့မဟုတ် EST ကဲ့သို့)
ဤဆောင်းပါးတွင်ကျွန်ုပ်တို့၏အာရုံစူးစိုက်မှုသည် ts field တွင်ဖြစ်သည်။
REATED အချက်အလက်များတွင် TS သည် UNIX ခေတ် (00:00:00:00 UTC, UTC, January 1, ၎င်းသည်အပြုသဘောသို့မဟုတ်အပျက်သဘောဆောင်သောကိန်းဖြစ်သည်။
ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ပြောင်းလဲခြင်းအချိန်ကိုအောက်ပါကုဒ်များမှတစ်ဆင့်ရယူခြင်းနှင့်ပုံနှိပ်ထုတ်ဝေသည်။
$tz = new DateTimeZone('Europe/Paris');
$transitions = $tz->getTransitions();
foreach ($transitions as $transition) {
echo "အချစ်:{$transition['ts']},သက်ဆိုင်ရာအချိန်:{$transition['time']}\n";
}
output သည်ဆင်တူနိုင်သည်။
အချစ်:-1830384000,သက်ဆိုင်ရာအချိန်:1916-06-14T23:00:00+0000
အချစ်:-1689814800,သက်ဆိုင်ရာအချိန်:1916-10-01T23:00:00+0000
...
တွေ့မြင်နိုင်သည့်အတိုင်း Timestamp သည်ကိန်းဂဏန်းတစ်ခုတွင်ကိုယ်စားပြုသည့်အချိန်ကာလတစ်ခုဖြစ်ပြီးအနုတ်လက်ခဏာတန်ဖိုးသည် 1970 မတိုင်မီအချိန်ကိုကိုယ်စားပြုသည်။
ဤပြောင်းလဲခြင်းကိုကိုင်တွယ်ရန် dateTime class ကိုသင်အသုံးပြုနိုင်သည်။
$timestamp = $transition['ts'];
$dt = (new DateTime())->setTimestamp($timestamp);
echo $dt->format('Y-m-d H:i:s');
ပုံမှန်အားဖြင့်ဖန်တီးထားသော datetime အရာဝတ်ထုသည်လက်ရှိအချိန်တွင်အချိန်ဇုန်တွင်ရှိသည်ဟုမှတ်ချက်ပြုသင့်သည်။
$tz = new DateTimeZone('UTC');
$dt = new DateTime("@{$timestamp}");
$dt->setTimezone($tz);
echo $dt->format('Y-m-d H:i:s T');
လက်ရှိ offset နှင့်နေ့အလင်းရောင်ချွေတာသောအချိန်အချက်အလက်များကိုပြသရန် GetTransitions () မှပြန်လာသောစာရင်းမှလတ်တလောပြောင်းလဲခြင်းကိုကျွန်ုပ်တို့စစ်ထုတ်နိုင်သည်။
$tz = new DateTimeZone('Asia/Shanghai');
$transitions = $tz->getTransitions();
$now = time();
$recent = null;
foreach ($transitions as $transition) {
if ($transition['ts'] <= $now) {
$recent = $transition;
} else {
break;
}
}
echo "လတ်တလောပြောင်းလဲခြင်းအချိန်သည်:{$recent['time']},UTC အဆိုပါ offset ဖြစ်ပါတယ်:{$recent['offset']} စက်ဏန့်";
အကယ်. သင်သည်ဤအချက်အလက်များကို Web API ပုံစံဖြင့်ပြန်ပို့ရန်ရည်ရွယ်ထားပါက JSOS ကိုအောက်ပါဖွဲ့စည်းတည်ဆောက်ပုံကို အသုံးပြု. output လုပ်နိုင်သည်။
header('Content-Type: application/json');
echo json_encode([
'timestamp' => $recent['ts'],
'utc_time' => $recent['time'],
'offset' => $recent['offset'],
'isdst' => $recent['isdst'],
'abbr' => $recent['abbr'],
'source' => 'https://gitbox.net/timezone/transition'
]);