PHP獲取日期對應星期、一周日期、星期開始與結束日期的方法


獲取日期對應的星期
/*
 * 獲取日期對應的星期
 * 參數$date為輸入的日期數據,格式如:2018-6-22
 */
function  get_week($date){	
	$date_str=date('Y-m-d',strtotime($date));//強制轉換日期格式	
	$arr=explode("-", $date_str);//封裝成數組
	//參數賦值	
	$year=$arr[0];//年	
	$month=sprintf('%02d',$arr[1]);    //月,輸出2位整型,不夠2位右對齊	
	$day=sprintf('%02d',$arr[2]);//日,輸出2位整型,不夠2位右對齊	
	$hour = $minute = $second = 0;//時分秒默認賦值為0;	
	$strap = mktime($hour,$minute,$second,$month,$day,$year);//轉換成時間戳	
	$number_wk=date("w",$strap);//獲取數字型星期幾
	//自定義星期數組
	$weekArr=array("周日","周一","周二","周三","周四","周五","周六");
	//獲取數字對應的星期
	return $weekArr[$number_wk];
}

  

獲取一周日期
  /**
     * 獲取一周日期
     * @param $time 時間戳
     * @param $format 轉換格式
     */
    function get_week_arr($time=0, $format = "Y-m-d"){
        if(!$time){
            $time = time();
        }
        $week = date('w', $time);
        $weekname = array('星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日');
        //星期日排到末位
        if (empty($week)) {
            $week = 7;
        }
        for ($i = 0; $i <= 6; $i++) {
            $currDay = $i+1-$week;
            $data[$i]['date'] = date($format, strtotime("+{$currDay} days", $time));
            $data[$i]['week'] = $weekname[$i];
        }
        return $data;
    }

  

獲取某星期的開始時間和結束時間
  /*
     * 獲取某星期的開始時間和結束時間
     * time 時間
     * first 表示每周星期一為開始日期 0表示每周日為開始日期
     */
    function getWeekMyActionAndEnd($time = '', $first = 1){
        //當前日期
        if(!$time){
            $time = time();
        }
        $sdefaultDate = date("Y-m-d", $time);
        //$first =1 表示每周星期一為開始日期 0表示每周日為開始日期
        $w = date('w', strtotime($sdefaultDate)); //獲取當前周的第幾天 周日是 0 周一到周六是 1 - 6
        $days = $w ? $w - $first : 6;   //獲取本周開始日期,如果$w是0,則表示周日,減去 6 天
        $week_start = date('Y-m-d', strtotime("{$sdefaultDate} -{$days} days"));
        $week_end = date('Y-m-d', strtotime("{$week_start} +6 days"));   //本周結束日期
        return array("week_start" => $week_start, "week_end" => $week_end);
    }

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM