3

嗨,我正在尝试将时间与当前日期时间相加,此代码似乎有效:

$now = time();
$_day = strtotime('+1day',$now);
$_week = strtotime('+7day',$now);
$_month = strtotime('+1month',$now);
$_year = strtotime('+1year',$now);

我想知道是否有任何其他方法,也许是更好的方法......谁能告诉我新的方法以及我应该转向另一种语法的原因?我想尽可能准确地做到这一点,所以如果我能反映这个脚本,那就太好了!

谢谢

编辑:

为了清楚起见,我需要使用 unix 时间戳我不需要格式化的日期/日期时间

4

3 回答 3

2

如果您使用的 PHP 版本允许(PHP 5 >= 5.3.0)您使用DateTimeDateInterval类,您可以使用它们。

例子:

$dateTime=new DateTime();
$plusDay=new DateInterval('P1D');
var_dump($dateTime->add($plusDay));

$dateTime=new DateTime();
$plusWeek=new DateInterval('P1W');
var_dump($dateTime->add($plusWeek));

$dateTime=new DateTime();
$plusMonth=new DateInterval('P1M');
var_dump($dateTime->add($plusMonth));

我希望这是有帮助的。

于 2012-12-25T12:11:17.137 回答
1

我相信这strtotime()就像您将要使用 PHP 一样简单。这个 SO 问题的所有 3 个答案都选择使用该语法,我在网上看到的所有各种教程都使用它。strtotime()比其他方法更容易考虑日期算术。

于 2012-12-25T12:09:49.333 回答
0

试试这个解决方案:

date("Y-m-d", strtotime("+1 day"));
date("Y-m-d", strtotime("+7 days"));
date("Y-m-d", strtotime("+1 month"));
date("Y-m-d", strtotime("+1 year"));
于 2012-12-25T12:11:19.930 回答