PHP DateTime对象
发布时间:2020-12-13 21:50:03 所属栏目:PHP教程 来源:网络整理
导读:为什么在第一个例子中我得到分钟和秒00:00,在第二个例子中,当没有指定小时时,我得到了实际时间? 如果在创建对象的日期没有定义值,我想要始终为0. echo DateTime::createFromFormat('j.n.Y H',"3.4.2012 22")-format('Y-m-d H:i:s'); 输出:2012-04-03 22:00
为什么在第一个例子中我得到分钟和秒00:00,在第二个例子中,当没有指定小时时,我得到了实际时间?
如果在创建对象的日期没有定义值,我想要始终为0. echo DateTime::createFromFormat('j.n.Y H',"3.4.2012 22")->format('Y-m-d H:i:s'); 输出:2012-04-03 22:00:00 echo DateTime::createFromFormat('j.n.Y',"3.4.2012")->format('Y-m-d H:i:s'); 输出:2012-04-03 23:05:45 预计输出:2012-04-03 00:00:00 解决方法
这将给你希望的格式:
echo DateTime::createFromFormat('!j.n.Y',"3.4.2012")->format('Y-m-d H:i:s'); Output: 2012-04-03 00:00:00 Excpected output: 2012-04-03 00:00:00 参考:http://php.net/manual/en/datetime.createfromformat.php
换句话说,如果没有感叹号!,如果未指定H(小时),i(分钟)和s(秒)中的任何一个,则使用运行PHP脚本的当前OS系统时间. 如果给出了His的任何元素,则不使用系统时间,在effet中,0将填充所有未指定的时间元素.例如: echo DateTime::createFromFormat('j.n.Y H',"3.4.2012 22")->format('Y-m-d H:i:s'); //=> 2012-04-03 22:00:00 echo DateTime::createFromFormat('j.n.Y i',"3.4.2012 22)->format('Y-m-d H:i:s'); //=> 2012-04-03 00:22:00 echo DateTime::createFromFormat('j.n.Y s',"3.4.2012 22")->format('Y-m-d H:i:s'); //=> 2012-04-03 00:00:22 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |