php 取得某个自然周的第一天和最后一天的方法 [ 光影人像 东海陈光剑 的博客 ]
今天在写统计每周发帖情况的代码时,突然发觉在php语言里提供了那么多日期函数,但是真正要获得某个日期所在周的第一天和最后一天,还有点麻烦呢,上网搜索了一下,解决方案还真不多,不管怎么样,还是找了一个,稍微改装了一下,代码如下:
function getFirstDateOfWeek($dateStr){
$w = strftime("%u",strtotime($dateStr));
$sdate = strftime("%Y-%m-%d",strtotime($dateStr) - ($w-1)*86400) . " 00:00:00";
return $sdate;
}
function getLastDateOfWeek($dateStr){
$w= strftime("%u",strtotime($dateStr));
$edate = strftime("%Y-%m-%d",strtotime($date_time) + (7-$w)*86400) . " 23:59:59";
return $edate;
}
提供2个函数,通过传入指定日期,获取指定日期所在自然周的第一天和最后一天。
strftime函数对timestamp进行格式输出, 其中%u - 星期几的十进制数表达 [1,7],1 表示星期一,先通过strftime取得传入的指定日期在自然周中是第几天,然后再加上或减去一周中剩余的天数的总秒数即可。
我们从来只做一件事,分享.
让美在这个世界流转
让倍感无趣的 受伤的 彷徨的 孤独的 或是心情忧郁的 人生黯淡的人们
能有一次机会
去再一次发现这个世界的美
并把美传递给他人
---光影人像(Follow WeChat public number with interest)