开发者社区> 问答> 正文

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版本问题还是什么,有人同样的情况么

展开
收起
kun坤 2020-06-04 21:13:14 517 0
1 条回答
写回答
取消 提交回答
  • modify不太熟悉   貌似是    modify("next Tuesday")  指向的是下周二的零点  而不是下周二的当前时间
    这需要自己加上当前时间与当前日期零点的时间差!

    2020-06-08 10:23:39
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载