如何在php中基于时区格式化和计算日期

时间:2016-02-03 10:33:23

标签: php date datetime timestamp

如何根据时区格式化和计算日期。请参阅下面的示例

$ date =“2015-12-16 07:00:00”; $ timeZonePassed =“CET”;

现在我的函数应该返回一个CET格式的日期,如mm.dd.yy h.i.s.当我这样做$ dateConv->格式($ dateFormat)时,我的日期总是显示为mm / dd / yy但我期望它应该根据时区计算时间并根据时区显示日期格式。

function formatDate($date, $timeZonePassed) {
    $date = date('Y-m-d H:i:s', strtotime($date . "UTC")); 
    $dateFormat ='m/d/Y h:i A';
    $dateConv = date_create_from_format('Y-m-d H:i:s', $date);
    $dateConv->setTimezone(new DateTimeZone($timeZonePassed);
    return $dateConv->format($dateFormat);
}

1 个答案:

答案 0 :(得分:0)

试试这个

function formatDate($date, $timeZonePassed) {

$UTC = new DateTimeZone("UTC");
$date= date('Y-m-d H:i:s', strtotime($date)); 
$dateConv = new DateTime( $dates, $UTC  );
$dateFormat ='m/d/Y h:i A';

$dateConv->setTimezone(new DateTimeZone($timeZonePassed));
return $dateConv->format($dateFormat);
}

工作正常,这对您有用