如何根据时区格式化和计算日期。考虑以下示例
$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);
}
试试这个
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);
}
工作正常,这对你有用