-1

我正在尝试在复活节日期之后的第二天:

date("d-m-y", strtotime(easter_date(), '+1 day'));

我不明白,显示的日期仍然相同,但是当我尝试这个时:

date("d-m-y", strtotime('+1 day'));

有用。

我能怎么做?

4

2 回答 2

5

那是因为 Easter_date() 会产生一个 unix 时间戳:

1364713200

而 strtotime() 就是为此'today'而设计的'tuesday next week';

如果您只想添加一天,只需将 86400(这是一天中的秒数)添加到easter_date();

所以:date("d-m-y", easter_date() + 86400);

于 2013-07-23T10:28:55.263 回答
1

该函数easter_date()返回一个 UNIX 时间戳(例如 123338898),而strtotime()的第一个参数必须是有效的日期/时间字符串(例如 2013-05-30 23:59:59)。有效格式在日期和时间格式中进行了说明。

此外,来自 PHP 文档strtotime()

不建议将此函数用于数学运算。最好在 PHP 5.3 及更高版本中使用 DateTime::add() 和 DateTime::sub(),或者在 PHP 5.2 中使用 DateTime::modify()。

于 2013-07-23T10:30:14.260 回答