[英]PHP get next occurrence of Monday from a certain date (with time)
我想在特定日期之后的下一个星期四,比如2014-02-25
。 我在这里遇到的问题是,当我使用下面的代码时,时间似乎被删除了。
<?php
$timestamp = '2014-02-25 10:30:00';
echo date('Y-m-d H:i:s', strtotime("next Thursday", strtotime($timestamp)));
?>
我得到的结果是2014-02-27 00:00:00
,我希望它是2014-02-27 10:30:00
我在这里缺少什么导致时间设置为午夜?
感谢你的帮助,谢谢。
没有时间格式可以直接表达这一点。 你需要生成一个像这样的格式
next Thursday 10:30:00
...手动并将其传递给strtotime()
。 您需要从参考时间字符串中提取的时间信息。 像这样:
$refdate = '2014-02-25 10:30:00';
$timestamp = strtotime($refdate);
echo date('Y-m-d H:i:s',
strtotime("next Thursday " . date('H:i:s', $timestamp), $timestamp)
);
使用字符串连接可以实现相同的结果:
echo date('Y-m-d', strtotime("next Thursday", $timestamp)
. ' ' . date('H:i:s', $timestamp);
所谓的relative time formats
的文档可以在这里找到
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.