取得當前時間的上一周時間用date('y-m-d', strtotime('-1 week'))
沒有問題,因為每週時間固定為7天。
如果當前日期為2016-5-31
, 用date('y-m-d', strtotime('-1 month'))
會產生錯誤。因為這裡把-1 month
按照-30 days
來算
date('y-m-d', strtotime('2016-05-31 -1 month'))
=2016-05-01
date('y-m-d', strtotime('2016-01-31 +1 month'))
=2016-03-02
如果需要取當前月的前後月份的話,需要小心,正確做法可以改為
date('m', strtotime(date('y-m-1').' -1 month'))
date('m', strtotime(date('y-m-1').' +1 month'))
echo date("y-m-d",strtotime('-1 week last monday'))." 00:00:00";
echo date("y-m-d",strtotime('last sunday'))." 23:59:59";
echo
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";
ORACLE to char 函式獲取自然週數
最簡單的是使用 formatted on 2009 12 02 16 01 formatter plus v4.8.8 select to char to date 2009 12 02 yyyy mm dd ww from dual 不過to char 函式在計算一年中第幾周是從該年的1月1日開始...
date的to char取自然周及format引數
很多時間我們需要用oracle提供的to char 函式來取得某個日期是屬於今年的第幾周.例如 to char to date 20090112 yyyymmdd ww 得到的結果是02,就是第2?可看看日曆上,2009年1月12日第三週的周一.為什麼會有這樣的問題呢?由於oracle在to cha...
date的to char取自然周及format引數
很多時間我們需要用oracle提供的to char 函式來取得某個日期是屬於今年的第幾周.例如 to char to date 20090112 yyyymmdd ww 得到的結果是02,就是第2?可看看日曆上,2009年1月12日第三週的周一.為什麼會有這樣的問題呢?由於oracle在to cha...