首頁 >後端開發 >php教程 >PHP 如何取得某年第幾週的開始日期和結束日期教學

PHP 如何取得某年第幾週的開始日期和結束日期教學

jacklove
jacklove原創
2018-05-22 17:26:472709瀏覽

本篇講解了PHP 如何取得某年第幾週的開始日期和結束日期教學。

實例如下圖所示:  

/* 

* 取得某年第幾週的開始日期和結束日期

 

# * @param int $year

 

* @param int $week 第幾週;

 

*/

public function weekday($year,$week=1){
 
$year_start = mktime(0,0,0,1,1,$year);
 
$year_end = mktime(0,0,0,12,31,$year);

 

// 判斷第一天是否為第一週的開始

if (intval(date('W',$year_start))===1){
 
$start = $year_start;//把第一天做为第一周的开始
 
}else{
 
$week++;
 
$start = strtotime('+1 monday',$year_start);//把第一个周一作为开始
 
}

 

// 第幾週的開始時間

if ($week===1){
 
$weekday['start'] = $start;
 
}else{
 
$weekday['start'] = strtotime('+'.($week-0).' monday',$start);
 
}

 

#// 第幾週的結束時間

$weekday['end'] = strtotime('+1 sunday',$weekday['start']);
 
if (date('Y',$weekday['end'])!=$year){
 
$weekday['end'] = $year_end;
 
}
 
return $weekday;
 
}

/**

 

* 計算一年有多少週,每週從星期一開始,

 

* 如果最後一天在星期四後(包括週四)算完整的一周,否則不計入當年的最後一周

 

* 如果第一天在周四前(包括週四)算完整的一周,否則不計入當年的第一週##​​

##* @param int $year

 

* return int

 

#*/

public function week($year){
 
$year_start = mktime(0,0,0,1,1,$year);
 
$year_end = mktime(0,0,0,12,31,$year);
 
if (intval(date('W',$year_end))===1){
 
return date('W',strtotime('last week',$year_end));
 
}else{
 
return date('W',$year_end);
 
}
 
}

   這篇講解了PHP 如何取得某年第幾週的開始日期和結束日期教程,更多相關知識請關注php中文網。

php字串反轉面試中常遇到的問題


#PHP怎麼取得字元流中第一個不重複字元


PHP使用一行程式碼刪除目錄下所有檔案方法

以上是PHP 如何取得某年第幾週的開始日期和結束日期教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn