獲取某一年中所有周的週一和週末(二維陣列)
之前借鑑別人的,,,結果用的時候有bug(偶爾會丟失某年第一週的資料)
現貼出完整程式碼
function get_week($year) {
$week_array = [];
$year_start = $year . "-01-01";
$year_end = $year . "-12-31";
$startday = strtotime($year_start);
if (intval(date('W', $startday)) != '1' || intval(date('N', $startday)) != '1') { //一年第一天如果不是第一週或者不是第一週的第一天
$startday = strtotime("last monday", strtotime($year_start)); //獲取年第一週的日期
}
$year_mondy = date("Y-m-d", $startday); //獲取年第一週的日期
//以下程式碼不需要 只需判斷年首就可以, 因為年末最後一兩天有可能是下一年的週一
/*$endday = strtotime($year_end); //獲取一年最後一天
if (intval(date('N', $endday)) == '7') {
$endday = strtotime("last sunday", strtotime($year_end));
}
$num = intval(date('W', $endday));*/
$num = 52;
for ($i = 1; $i <= $num; $i++) {
$j = $i -1;
$start_date = date("Y-m-d", strtotime("$year_mondy $j week "));
$end_day = date("Y-m-d", strtotime("$start_date +6 day"));
$week_array[$i] = [$start_date,$end_day];
}
return $week_array;
}
$week_arr = get_week(2019);
print_r($week_arr);
相關文章
- 二維陣列的獲取陣列
- 第八週:陣列(二)陣列
- C/C++獲取二維陣列行列數C++陣列
- php獲取一維,二維陣列長度的方法(有例項)PHP陣列
- C#中如何獲取二維陣列的行數和列數?C#陣列
- PHP 二維陣列, 按某一個欄位排序PHP陣列排序
- 第四周週二
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- 週末計劃
- java獲取指定日期所在周的 週一 和 週日Java
- C++ 獲取陣列大小、多維陣列操作詳解C++陣列
- 我的週末計劃
- 日程表-獲取當前周,點選切換上一週和下一週
- 二維陣列陣列
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- PHP二維陣列轉一維陣列PHP陣列
- 週末面試經歷面試
- Flutter生命週期的獲取Flutter
- C/C++ 二維陣列的理解(多維陣列)C++陣列
- PHP中二維陣列與多維陣列PHP陣列
- JavaScript --二維陣列查詢一維陣列JavaScript陣列
- 如何讀取leetcode中的二維陣列LeetCode陣列
- vector 二維陣列陣列
- Java二維陣列Java陣列
- JavaScript二維陣列JavaScript陣列
- JavaScript 二維陣列JavaScript陣列
- 二維陣列排序陣列排序
- JavaScript二維陣列轉換成一維陣列JavaScript陣列
- 二維陣列的計算陣列
- 用 GetLength(int dimension) 獲取陣列指定維度的長度。陣列
- C++動態建立二維陣列,二維陣列指標,以及動態二維陣列函式傳遞C++陣列指標函式
- 求二維陣列中最大子陣列的和陣列
- java之陣列的索引,排序以及二維陣列Java陣列索引排序
- 二維陣列和稀疏陣列互轉陣列
- 週末學習日記1
- sql日期和週末判斷SQL
- 二維陣列查詢陣列