$day = date('l', strtotime('07/25/2010'));
echo "$day ";
echo date("m/d/Y", strtotime("first $day"));这将打印出Sunday 07/11/2010
$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日吗?
发布于 2010-07-07 02:00:09
我认为答案是正确的,因为它们是相对于给定日期的(如果不给出,则默认为今天)。
基于PHP文档:
该函数期望得到一个包含美国英语日期格式的字符串,并将尝试将该格式解析为Unix时间戳(自1970年1月1日00:00:00UTC以来的秒数),相对于now中给出的时间戳,如果未提供now,则解析为当前时间。
所以第一个星期天实际上是第11个,而上周日实际上是第4个。根据你问题的措辞,你似乎在寻找这个月的第一个星期天,以及这个月的最后一个星期天。此函数返回今天之后的第一个星期天和今天之前的最后一个星期天。
发布于 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。
https://stackoverflow.com/questions/3188755
复制相似问题