我需要从日期转换并添加 +3 天。当我使用 strtotime("last wed +3 day"); 它给了我 2 到 3 天的日期。它不适用于我的服务器和我用键盘测试过的互联网: http: //codepad.org/MhL77CVC和http://www.unixtimestamp.com/index.php。它给了我从上一个星期三开始的 2 到 3 天的时间,现在是美国东部标准时间晚上 7:00:00。我住的地方是+1 Utc。我需要的是 00:00 的东西,我认为这是可能的?我的客户对他的回答不是很有帮助。他认为一切都适用于 +1 UTC 时区吗?
问问题
854 次
2 回答
1
使用DateTime类将字符串转换为时间。第二个参数接受时区,使用DateTimeZone。
$z = new DateTimeZone("Europe/Berlin");
$d = new DateTime("last wed +3 day", $z);
echo $d->format("d.m.Y H:i");
echo $d->format("U"); # or echo $d->getTimestamp(); on PHP > 5.3.0
DateTime::format()方法接受类似于date()函数的格式。
于 2012-09-22T14:45:14.853 回答
0
如果您需要转换时区,您可以使用date_default_timezone_set()
$date = new DateTime("last wed +3 day", new DateTimeZone('Europe/Rome'));
date_default_timezone_set('Europe/Rome');
echo date("Y-m-d h:iA", $date->format('U'));
echo "<br/>";
date_default_timezone_set('America/New_York');
echo date("Y-m-d h:iA", $date->format('U'));
您还可以通过在脚本开头设置 rigt 时区来解决问题
于 2012-09-22T14:54:40.680 回答