2

我正在尝试创建一个 DateTime 对象,但具有特定的 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"));

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

19-30-10-2012

我的问题是,我怎样才能设置 DateTimeZome 但保持给定值?(15-30-10-2012)

4

1 回答 1

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

于 2012-10-30T20:21:31.760 回答