在php中转换时区


Convert timezone in php

我有这些时区。我想得到当前的日期时间取决于给定的时区。用户将选择其中一个时区。所以需要返回当前时间。

询问
CDT
EDT
HST
MDT
MST
PDT

我如何转换?请帮助

DateTime::setTimezone将为您提供帮助。

    <?php
    $date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
    echo $date->format('Y-m-d H:i:sP') . "'n";
    $date->setTimezone(new DateTimeZone('Pacific/Chatham'));
    echo $date->format('Y-m-d H:i:sP') . "'n";
     ?>

使用DateTime

$time = time(); //Get the current time
$date = new DateTime($time, new DateTimeZone('Pacific/Nauru')); //Set a time zone
echo $date->format('Y-m-d H:i:sP') . "'n"; //display date
$date->setTimezone(new DateTimeZone('Europe/London')); //set another timezone
echo $date->format('Y-m-d H:i:sP') . "'n"; //display data again

这样,你就不必每次都像mishu的答案一样给出与新论点相同的时间戳。

请参阅"yahoodot.com上的_dark_lord12001"编写的类,这将帮助您从缩写中获取时区&那你就可以用了具有date_default_timezone_set或DateTime类

http://www.php.net/manual/en/datetimezone.listabbreviations.php

希望得到帮助。

~K