您好,我试图将时间与当前日期时间相加,这段代码似乎可以工作:
$now = time();
$_day = strtotime('+1day',$now);
$_week = strtotime('+7day',$now);
$_month = strtotime('+1month',$now);
$_year = strtotime('+1year',$now);
我想知道的是是否有其他的方法,也许更好的方法来做这件事…谁能告诉我新的方法和为什么我应该转向另一种语法的原因?我想做到这一点更准确,尽可能,所以如果我能反映这个脚本是伟大的!
感谢编辑:说明一下,我需要使用Unix时间戳我不需要格式化日期/日期时间
如果您使用的PHP版本允许(PHP 5>= 5.3.0)使用DateTime和DateInterval类,您可以使用它们
的例子:
$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));
我相信strtotime()
是PHP中最简单的。这个SO问题的所有3个答案都选择使用这种语法,我在网上看到的所有教程都使用这种语法。strtotime()
使思考日期算法比其他方法容易得多。
试试这个解决方案:
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"));