php獲取自然周 自然月的處理

2021-08-18 23:18:12 字數 1077 閱讀 3635

取得當前時間的上一周時間用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...