PHP获取本周第一天和最后一天
用PHP获取本周第一天和最后一天,网上有很多方法,但是太麻烦,或者有bug,这是用php自带的DateTime类实现的方法,比较简单:
//本周的第一天和最后一天 $date = new DateTime(); $date ->modify( 'this week' ); $first_day_of_week = $date ->format( 'Y-m-d' ); $date ->modify( 'this week +6 days' ); $end_day_of_week = $date ->format( 'Y-m-d' );经过测试modity不知道是用做什么了,于时找了另两个例子,代码如下:
//这个星期的星期一 // @$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 ]; } //这个星期的星期天 // @$timestamp ,某个星期的某一个时间戳,默认为当前时间 // @is_return_timestamp ,是否返回时间戳,否则返回时间格式 function this_sunday( $timestamp =0, $is_return_timestamp =true){ static $cache ; $id = $timestamp . $is_return_timestamp ; if (!isset( $cache [ $id ])){ if (! $timestamp ) $timestamp = time(); $sunday = this_monday( $timestamp ) + /*6*86400*/ 518400; if ( $is_return_timestamp ){ $cache [ $id ] = $sunday ; } else { $cache [ $id ] = date ( 'Y-m-d' , $sunday ); } } return $cache [ $id ]; }查看更多关于PHP获取本周第一天和最后一天 - php日期的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did29205