0

我需要从日期转换并添加 +3 天。当我使用 strtotime("last wed +3 day"); 它给了我 2 到 3 天的日期。它不适用于我的服务器和我用键盘测试过的互联网: http: //codepad.org/MhL77CVChttp://www.unixtimestamp.com/index.php。它给了我从上一个星期三开始的 2 到 3 天的时间,现在是美国东部标准时间晚上 7:00:00。我住的地方是+1 Utc。我需要的是 00:00 的东西,我认为这是可能的?我的客户对他的回答不是很有帮助。他认为一切都适用于 +1 UTC 时区吗?

4

2 回答 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 回答