PHP函数默认变量值为DateTime+;24小时
我需要声明一个采用MySQL DateTime格式字符串的函数,或者默认情况下使用当前DateTime+24小时 比如:PHP函数默认变量值为DateTime+;24小时,php,datetime,increment,Php,Datetime,Increment,我需要声明一个采用MySQL DateTime格式字符串的函数,或者默认情况下使用当前DateTime+24小时 比如: function myFunction($next_date = new DateTime()->add(new DateInterval('P1D'))->format('Y-m-d H:i:s')) { echo "Next date : " . $next_date; } 我找不到有效的方法,谢谢。只是代码中有语法错误: 在使用类的任何实例之前,应
function myFunction($next_date = new DateTime()->add(new DateInterval('P1D'))->format('Y-m-d H:i:s')) {
echo "Next date : " . $next_date;
}
我找不到有效的方法,谢谢。只是代码中有语法错误: 在使用类的任何实例之前,应该将其分配给变量 因此,在执行以下操作之前:
new DateTime()->
您应该先执行$DateTime=new DateTime()
,然后执行$DateTime->
因此,请尝试将代码修改为:
function myFunction($next_date = null) {
if(!$next_date) {
$dateTime = new DateTime();
$next_date = $dateTime->add(new DateInterval('P1D'))->format('Y-m-d H:i:s');
}
echo "Next date : " . $next_date;
}
只是代码中有语法错误: 在使用类的任何实例之前,应该将其分配给变量 因此,在执行以下操作之前:
new DateTime()->
您应该先执行$DateTime=new DateTime()
,然后执行$DateTime->
因此,请尝试将代码修改为:
function myFunction($next_date = null) {
if(!$next_date) {
$dateTime = new DateTime();
$next_date = $dateTime->add(new DateInterval('P1D'))->format('Y-m-d H:i:s');
}
echo "Next date : " . $next_date;
}
对于由于php版本或个人偏好(比如他们真的喜欢一行程序)而不能或不想使用该结构的任何人,您可以使用以下内容:
$next_date=date("Y-m-d H:i:s",strtotime("+1 day"));
就我个人而言,我认为没有必要为这么简单的任务创建和操作对象。对于那些因为php版本或个人偏好(比如他们真的喜欢一行程序)而不能或不想使用该结构的人,您可以使用以下方法:
$next_date=date("Y-m-d H:i:s",strtotime("+1 day"));
就我个人而言,我认为没有必要为这么简单的任务创建和操作对象。谢谢,我没有想到这一点,我只是想把所有的东西都放在函数声明中…@Fredovsky Np!很高兴为所有关于
DateTime()
和时区声明的读者写一句忠告:谢谢,我没有想到这一点,我只是想把所有的东西都放在函数声明中…@Fredovsky Np!很高兴为所有读者写一篇关于DateTime()
和时区声明的警示语:date(“Y-m-d H:i:s”,strotime(+1天”)代码>将suffice@billynoah哦,是的,非常正确,当我在做一些测试时,我硬编码了一个日期,这个日期给bunkerboy的答案带来了麻烦,给出了一个特定的时区。我会更新我的答案,谢谢你提醒我。@mickmackusa很抱歉,现在投票已锁定,请编辑一些内容,然后我将删除我的下一票日期(“Y-m-d H:I:s”,strotime(+1天”)代码>将suffice@billynoah哦,是的,非常正确,当我在做一些测试时,我硬编码了一个日期,这个日期给bunkerboy的答案带来了麻烦,给出了一个特定的时区。我会更新我的答案,谢谢你把它带给我的注意。米克马库萨抱歉,但现在投票锁定,请编辑一些东西,然后我将删除我的下落,请考虑我已故的答案作为公认的答案。在我看来,使用Nishanth的DateTime对象方法是过分的,因为我的一行程序支持更大的php版本,可以用更少的代码完成同样的工作。这不是关于点挖掘,而是为未来的SO读者确定最佳答案。(尼森,很抱歉再次对你这么做,这纯粹是巧合,我不是在重复你的答案,DATETIME是我最喜欢的标签之一。据我所知,你的方法也是正确的。请考虑我已故的答案作为可接受的答案。在我看来,使用Nishanth的DateTime对象方法是过分的,因为我的一行程序支持更大的php版本,可以用更少的代码完成同样的工作。这不是关于点挖掘,而是为未来的SO读者确定最佳答案。(Nishanth,很抱歉再次对你这样做,这纯粹是巧合——我不是在跟踪你的答案;datetime是我最喜欢的标签之一。据我所知,你的方法也是正确的。)