从Timezone格式的PHP日期时间

时间:2012-10-30 20:13:27

标签: php datetime timezone

我正在尝试使用特定的DateTimeZone创建DateTime对象(服务器可以拥有自己的DateTimeZone)。假设以下字符串:

$textoFecha = '15-30-10-2012'; //H-d-m-Y

如果我尝试这样做:

$fecha = DateTime::createFromFormat('H-d-m-Y', $textoFecha);
$fecha->setTimezone(new DateTimeZone("America/Costa_Rica"));

make echo $fecha->format('H-d-m-Y')的结果是:

19-30-10-2012

我的问题是,如何设置DateTimeZome但保留给定值? (2012年3月30日至30日)

1 个答案:

答案 0 :(得分:2)

您必须在DateTime::createFromFormat中指定时区,如下所示:

$textoFecha = '15-30-10-2012'; //H-d-m-Y
$fecha = DateTime::createFromFormat('H-d-m-Y', $textoFecha, new DateTimeZone("America/Costa_Rica"));
echo $fecha->format('H-d-m-Y'); // prints 15-30-10-2012

工作示例:http://codepad.viper-7.com/dqHDLW