如何通过PHP中的时区缩写将日期时间从一次转换为另一次

时间:2018-06-17 10:00:41

标签: php timezone

我以下面的格式获取日期时间:

2018-04-13 09:19:53 EDT  

这需要转换为PST或IST。

我想要一个函数将给定的日期时间转换为所需的日期时间。

function convertdatetimes(datetime,current_timezone_abbrevation,required_timezone_abbrevation)  

ex convertdatetimes(2018-04-13 09:19:53,EDT,PDT)  

请帮忙。

1 个答案:

答案 0 :(得分:0)

试试这个:

function convertDateTimes($dateTime, $fromTz, $toTz, $format = 'Y-m-d H:i:s') {
    $fromTz = new DateTimeZone($fromTz);
    $dateTime = new DateTime($dateTime, $fromTz);
    $toTz = new DateTimeZone($toTz);
    $dateTime->setTimeZone($toTz);

    return $dateTime->format($format);
}

样本用法:

$dateTime = '2018-04-13 09:19:53';
$fromTz = 'EDT';
$toTz = 'PDT';
echo "Input: $dateTime EDT <br>";
echo 'Output: ', convertDateTimes($dateTime, $fromTz, $toTz), " $toTz";

输出:

Input: 2018-04-13 09:19:53 EDT 
Output: 2018-04-13 06:19:53 PDT