agenda
#1. 計算n個月前的日期
#2. 計算n個月後的日期
#3. 月末最後一天的情況(計算從日數多的月到日數較少的月)
#4. 月末最後一天的情況(計算從日數少的月到日數較多的月)
1|計算n個月前的日期
如果要計算n個月前的日期。使用dateadd函式,並且第二個引數n要指定為負數。
--指定n為負數
dateadd(month, n, 日付)
例如,計算2023年10月15日的前11個月的日期,sql 如下:
--以下會全返回 2014-11-15 00:00:00.000
select
dateadd(month, -11, '20151015'),
dateadd(month, -11, '2015/10/15'),
dateadd(month, -11, '2015-10-15')
2|計算n個月後的日期如果計算n個月後的日期,直接使用dateadd函式,且第二個引數n指定為正數。
dateadd(month, n, 日付)
例如,計算2023年10月15日的後3個月的日期,sql如下:
--以下會全返回 2016-01-15 00:00:00.000
select
dateadd(month, 3, '20151015'),
dateadd(month, 3, '2015/10/15'),
dateadd(month, 3, '2015-10-15')
3|月末最後一天的情況(計算從日數多的月到日數較少的月)在以日數多的月末最後一天開始,計算n個月後(n個月前)的日期,且該日期所在月為日數少的月,返回n個月後(n個月前)月末最後一天。
例如,3月31日的乙個月後為4月30日。3月31日的乙個月前,返回2月最後一天,且要考慮閏年的情況。
實際執行結果如下:
select
--返回 2015-04-30 00:00:00.000
dateadd(month, 1, '2015/3/31'),
--返回 2015-02-28 00:00:00.000
dateadd(month, -1, '2015/3/31'),
--返回 2016-02-29 00:00:00.000
dateadd(month, -1, '2016/3/31')
4|月末最後一天的情況(計算從日數少的月到日數較多的月)在以日數少的月末最後一天開始,計算n個月後(n個月前)的日期,且該日期所在月為日數多的月,返回日期不變。
例如,4月30日的乙個月後為5月30日,4月30日的前乙個月為3月30日。
實際執行結果:
select
--返回 2015-05-30 00:00:00.000
dateadd(month, 1, '2015/4/30'),
--返回 2015-03-30 00:00:00.000
dateadd(month, -1, '2015/4/30')
注:本文原創由`bluetata`發布於blog.csdn.net linux自動清理n天(1個月)前日誌檔案
1.刪除檔案命令 find 對應目錄 mtime 天數 name 檔名 exec rm rf 例項命令 find data log mtime 30 name log exec rm rf 備註 將 data log 目錄下所有30天前帶 log 的檔案刪除。具體引數說明如下 find linux的...
php輸出最近N個月的起至時間戳
第一種方法 本月起至時間 date 0 start time date y m d h i s mktime 0,0,0,date m 1,date y date 0 end time date y m d h i s time 往前乙個月起至時間 date 1 start time date y ...
奇怪的Js時間計算方法,跨多個月後出現1天的誤差
在專案中要求用計算兩個時間相差的天數,通俗的說就是兩個時間 相減,我的方法 先把兩個時間轉成相應的毫秒,相減後,再除以 1000 60 60 24 就可以得到對應天數,但天數會比實際少一天所以需要再加上一天 如下 function datediff 當時測試沒有跨好幾個月,發現都沒有問題,直到測試人...