
找了一下,需要自动化总结上个星期的文章增加数,所以就找了一下发出来。
PHP获取上个星期的所有日期,百度查来的不太全,发一下,懂点PHP的应该会自己改下关键在于7*86400、1*86400,七天前和1天前,核心就是获取本星期星期一的时间this_monday函数。
<?php $ts = time(); $last_monday = last_monday($ts); // echo date('Y-m-d H:i:s', $last_monday); echo "上个星期一:".date('Y-m-d', $last_monday); echo "<br>"; $last_xinqitian = last_xinqitian($ts); echo "上个星期天:".date('Y-m-d', $last_xinqitian); //上周一 // @$timestamp ,某个星期的某一个时间戳,默认为当前时间 // @is_return_timestamp ,是否返回时间戳,否则返回时间格式 function last_monday($timestamp=0,$is_return_timestamp=true){ static $cache ; $id = $timestamp.$is_return_timestamp; if(!isset($cache[$id])){ if(!$timestamp) $timestamp = time(); $thismonday = this_monday($timestamp) - 7*86400; if($is_return_timestamp){ $cache[$id] = $thismonday; }else{ $cache[$id] = date('Y-m-d',$thismonday); } } return $cache[$id]; } function last_xinqitian($timestamp=0,$is_return_timestamp=true){//上个星期天 static $cache ; $id = $timestamp.$is_return_timestamp; if(!isset($cache[$id])){ if(!$timestamp) $timestamp = time(); $thismonday = this_monday($timestamp) - 1*86400; if($is_return_timestamp){ $cache[$id] = $thismonday; }else{ $cache[$id] = date('Y-m-d',$thismonday); } } return $cache[$id]; } // $ts = time(); // $this_monday = this_monday($ts); // echo date('Y-m-d H:i:s', $this_monday); //这个星期的星期一 // @$timestamp ,某个星期的某一个时间戳,默认为当前时间 // @is_return_timestamp ,是否返回时间戳,否则返回时间格式 function this_monday($timestamp=0,$is_return_timestamp=true){ static $cache ; $id = $timestamp.$is_return_timestamp; if(!isset($cache[$id])){ if(!$timestamp) $timestamp = time(); $monday_date = date('Y-m-d', $timestamp-86400*date('w',$timestamp)+(date('w',$timestamp)>0?86400:-/*6*86400*/518400)); if($is_return_timestamp){ $cache[$id] = strtotime($monday_date); }else{ $cache[$id] = $monday_date; } } return $cache[$id]; } ?>
还没有评论,来说两句吧...