首頁  >  文章  >  後端開發  >  php怎麼實作時區轉換

php怎麼實作時區轉換

藏色散人
藏色散人原創
2020-07-07 10:08:243703瀏覽

php時區轉換的實作方法:首先自訂一個「dateTimeChangeByZone」方法;然後取得指定區域的時間,並確定要轉換為指定時區的時間;接著設定好時間格式;最後透過自訂的方法實現時間轉換即可。

php怎麼實作時區轉換

不同時區的時間互相轉換

<?php
/**
 * @param string $dateTime 时间,如:2020-04-22 10:10:10
 * @param string $fromZone 时间属于哪个时区
 * @param string $toZone   时间转换为哪个时区的时间
 * @param string $format   时间格式,如:Y-m-d H:i:s
 * 时区选择参考:https://www.php.net/manual/zh/timezones.php 常见的如:UTC,Asia/Shanghai
 * 时间格式参考:https://www.php.net/manual/zh/datetime.formats.php
 *
 * @return string
 */
function dateTimeChangeByZone($dateTime, $fromZone, $toZone, $format = &#39;Y-m-d H:i:s&#39;)
{
    $dateTimeZoneFrom = new DateTimeZone($fromZone);
    $dateTimeZoneTo   = new DateTimeZone($toZone);
    $dateTimeObj      = DateTime::createFromFormat($format, $dateTime, $dateTimeZoneFrom);
    $dateTimeObj->setTimezone($dateTimeZoneTo);
 
    return $dateTimeObj->format($format);
}
 
echo dateTimeChangeByZone(&#39;2020-04-22 10:10:10&#39;, &#39;UTC&#39;, &#39;Asia/Shanghai&#39;, &#39;Y-m-d H:i:s&#39;);

結果:

2020-04-22 18:10:10

更多相關知識,請造訪PHP中文網

以上是php怎麼實作時區轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn