首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >strtotime()与first和last的奇怪之处

strtotime()与first和last的奇怪之处
EN

Stack Overflow用户
提问于 2010-07-07 01:40:42
回答 2查看 264关注 0票数 1
代码语言:javascript
复制
$day = date('l', strtotime('07/25/2010'));
echo "$day ";
echo date("m/d/Y", strtotime("first $day"));

这将打印出Sunday 07/11/2010

代码语言:javascript
复制
$day = date('l', strtotime('07/25/2010'));
echo "$day ";
echo date("m/d/Y", strtotime("last $day"));

这将打印出Sunday 07/04/2010

这里发生了什么事?不是应该分别是2010年4月7日和2010年7月25日吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-07 02:00:09

我认为答案是正确的,因为它们是相对于给定日期的(如果不给出,则默认为今天)。

基于PHP文档:

该函数期望得到一个包含美国英语日期格式的字符串,并将尝试将该格式解析为Unix时间戳(自1970年1月1日00:00:00UTC以来的秒数),相对于now中给出的时间戳,如果未提供now,则解析为当前时间。

所以第一个星期天实际上是第11个,而上周日实际上是第4个。根据你问题的措辞,你似乎在寻找这个月的第一个星期天,以及这个月的最后一个星期天。此函数返回今天之后的第一个星期天和今天之前的最后一个星期天。

票数 1
EN

Stack Overflow用户

发布于 2010-07-07 01:54:31

我可以对last说点什么,读Datetime - Relative Formats

“‘’dayname”从当天的中获取最后一天的日名。(例如:"last wed 2008年7月“表示"2008-06-25";”2008年7月“首先将当前日期设置为"2008-07-01”,然后"last wed“移动到前一个星期三,即"2008-06-25")。

我猜这和first很相似,它会给你下一个dayname

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3188755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档