我正在尝试创建一个dateTime objet,但使用特定的datetimezone(服务器可以具有自己的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"));
制造echo $fecha->format('H-d-m-Y')
的结果是:
19-30-10-2012
我的问题是,如何设置DateTimeZome但保持给予值?(15-30-10-2012)
您必须在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