PHP獲取上周、本周、上月、本月、本季度、上季度時間方法大全

<?php
    echo date("Ymd",strtotime("now")), "\n";
    echo date("Ymd",strtotime("-1 week Monday")), "\n";
    echo date("Ymd",strtotime("-1 week Sunday")), "\n";
    echo date("Ymd",strtotime("+0 week Monday")), "\n";
    echo date("Ymd",strtotime("+0 week Sunday")), "\n";
 
    echo "*********第幾個月:";
    echo date('n');
    echo "*********本周周幾:";
    echo date("w");
    echo "*********本月天數:";
    echo date("t");
    echo "*********";
 
    echo '<br>上周起始時間:<br>';
    echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))),"\n";
    echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))),"\n";
    echo '<br>本周起始時間:<br>';
    echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))),"\n";
    echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))),"\n";
 
   //從第幾周找出該周的開始日期和結束日期
    $dayNumber = date('W') * 7;
    $weekDayNumber = date("w", mktime(0, 0, 0, 1, $dayNumber, date("Y")));//當前周的第幾天
    $startNumber = $dayNumber - $weekDayNumber;
    echo date("Y-m-d", mktime(0, 0, 0, 1, $startNumber + 1, date("Y")));//開始日期
    echo date("Y-m-d", mktime(0, 0, 0, 1, $startNumber + 7, date("Y")));//結束日期 
 
    echo '<br>上月起始時間:<br>';
    echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))),"\n";
    echo date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))),"\n";
    echo '<br>本月起始時間:<br>';
    echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))),"\n";
    echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y"))),"\n";
 
    $season = ceil((date('n'))/3);//當月是第幾季度
    echo '<br>本季度起始時間:<br>';
    echo date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n";
    echo date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y'))),"\n";
 
    $season = ceil((date('n'))/3)-1;//上季度是第幾季度
    echo '<br>上季度起始時間:<br>';
    echo date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n";
    echo date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y'))),"\n";
?>
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容