PHP:具有时区的DateTime :: createFromFormat()

时间:2014-06-17 20:10:05

标签: php datetime timezone timezone-offset

我想将日期格式从d / m / Y转换为Y-m-d,并带有时区偏移量。 我可以使用以下代码将d / m / Y转换为Y-m-d:

$date = DateTime::createFromFormat('d/m/Y', $date);
$date = $date->format('Y-m-d');

但我不确定如何添加时区偏移量。

2 个答案:

答案 0 :(得分:16)

(PHP 5> = 5.3.0) 你实际上输入了第三个参数

  

public static DateTime DateTime :: createFromFormat(string $ format,   string $ time [,DateTimeZone $ timezone])

$date = DateTime::createFromFormat('d/m/Y', $date, new DateTimeZone($tz));

答案 1 :(得分:12)

只需使用DateTime::setTimeZone()

$date = DateTime::createFromFormat('d/m/Y', $date);
$date->setTimeZone(new DateTimeZone('America/New_York'));
$date = $date->format('Y-m-d');