开发者社区> 问答> 正文

php中关于时间修改的函数modify()使用,报错

lamp环境

netbeans开发php环境

PHP/5.4.4,debian

正在学习php,在使用modify("next Tuesday")更改时间的时候,关于time部分消失了

代码如下:

$oDateTime = new DateTime("now", new DateTimeZone("Asia/Chongqing"));
$oDateTime->setDate(2000,10,25);
$oDateTime->setTime(23,50,35);
echo $oDateTime->format("r")."<br>"; 
$oDateTime->modify("+5 days");
echo $oDateTime->format("r")."<br>"; 
$oDateTime->modify("next Tuesday");
echo $oDateTime->format("r")."<br>";

下面是这个的输出:

Wed, 25 Oct 2000 23:50:35 +0800
Mon, 30 Oct 2000 23:50:35 +0800
Tue, 31 Oct 2000 00:00:00 +0800



经过实验只有next +星期几的时候time丢失,其他都正常,



不知道是php版本问题还是什么,有人同样的情况么

展开
收起
一枚小鲜肉帅哥 2020-05-28 13:21:50 649 0
1 条回答
写回答
取消 提交回答
  • 菜不可及的程序猿

    modify不太熟悉   貌似是    modify("next Tuesday")  指向的是下周二的零点  而不是下周二的当前时间

    这需要自己加上当前时间与当前日期零点的时间差!

    2020-05-29 14:00:43
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载