php 獲取日期(今天、昨天、上周、本周、上月、本月、季度、去年)


獲取日期有很多種寫法,“這”只是其中一種,歡迎指出錯誤並補充:
 
//今天
$today = date("Y-m-d");
//昨天
$yesterday = date("Y-m-d",strtotime("-1 day"));
//上周
$lastweek_start = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y")));
$lastweek_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y")));
//本周
$thisweek_start = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")));
$thisweek_end = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y")));
//上月
/*
  *不太靠譜,當上個月沒有當前天的日期會出錯,比如10月31日時獲取上個月月初和月末就會變成10月1日和10月31日
  *同理,+1 moth也是一樣
  */
$lastmonth_start = date('Y-m-01', strtotime('-1 month'));
$lastmonth_start = date( "Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y")));// 這個才是王道
// 不太靠譜,同上
$lastmonth_end = date('Y-m-t', strtotime('-1 month'));
$lastmonth_end = date( "Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))); // 這個才是王道
補充:--------------------突然看到這個也很有意思-----------------------------
上個月第一天:
echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month')); // 本月第一天再減一個月
上個月最后一天:
echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 day')); // 本月第一天再減一天
 
//本月
$thismonth_start = date("Y-m-01");
$thismonth_end = date("Y-m-t");
//本季度未最后一月天數
$getMonthDays = date("t",mktime(0, 0 , 0,date('n')+(date('n')-1)%3,1,date("Y")));
//本季度/
$thisquarter_start = date('Y-m-d H:i:s', mktime(0, 0, 0,date('n')-(date('n')-1)%3,1,date('Y')));
$thisquarter_end = date('Y-m-d H:i:s', mktime(23,59,59,date('n')+(date('n')-1)%3,$getMonthDays,date('Y')));
 
// 去年
$lastyear_start = date("Y-01-01", strtotime('-1 year'));
$lastyear_end = date("Y-12-31", strtotime('-1 year'));
 
 
//2019-10-10這天 2個月后的日期
date("Y-m-d",strtotime("+2 month",strtotime("2019-10-10")));// 2019-12-10這個正常沒問題
date("Y-m-d",strtotime("+1 month",strtotime("2019-10-31")));// 2019-12-01這個異常了,為啥呢?因為11月份沒有31天。Oh,yeah.
    
//當前 4個月后的日期
date("Y-m-d",strtotime("+3 month",time()));
但是如果當前是2019-10-31,那么打印的結果是2020-03-02
 


免責聲明!

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



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