我正在尝试使用特定的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日)
答案 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