strototime()相对日期的时间

时间:2015-11-27 14:02:25

标签: php strtotime

目前,我的时区设置为America/New York

我的时间戳为1448933400,即2015年11月30日星期一 - 08:30。我希望从当前时间戳得到一个相对时间作为下个月的第一个太阳"。

所以我正在做以下代码:

strtotime("First Sun of Next Month", 1448933400);

我遇到的问题是1449378000的返回值。

这不是在晚上8:30,而是在上午12:00。是否有一种简单的方法来获取相对日期以保留源时间戳的相对时间?

1 个答案:

答案 0 :(得分:0)

有许多可能的答案,但您可以做的是首先计算时间戳当天的时间偏差并将其应用于结果:

<?php
$stamp = 1448933400;
$offset = $stamp - strtotime(date("Y-m-d", $stamp));
var_dump(strtotime("First Sun of Next Month", $stamp) + $offset);
?>

<强>输出

int(1449451800) // or "2015-12-06 20:30:00"