201003091209計算日期、時間的偏移 - DateADD - 990806 更新

  在寫一些有關時間判斷的部份,常常會需要給定一段授權的時限(例如登入允許執行的時間限制),並將期限寫到資料庫中,那該怎麼做呢?

這篇會針對 ASP.NET 與 SQL 兩個方面來說明。

以 SQL 來說,可以簡單的使用 DATEADD 與  DATEDIFF

 

取出今年的第一天
Select  DATEADD(yy,  DATEDIFF(yy,0,getdate()),  0)

取出本季的第一天
Select  DATEADD(qq,  DATEDIFF(qq,0,getdate()),  0)

那 yy, qq 是啥米阿?看下表

代號 意義
yy, yyyy year 年 hh hour 小時
q, qq quarter 季 mi, n minute 分鐘
m, mm month 月 ss, s second 秒
dy, y dayofyear ms millisecond 毫秒 10^-3
wk, ww week 週 mcs microsecond 微秒 10^-6
dw, w weekend 週末 ns nanosecond 10^-9

 

 

 

 

 

 

 

那怎麼取出本月的最後一天呢?
Select  dateadd(ms,-2,DATEADD(mm, DATEDIFF(mm,0,getdate())+1,  0))

怎麼算出38天之後是哪一天呢?date of year


-------------------------------------------

那在 ASP.NET 怎麼做呢?

DateTime.Now.AddSeconds(20).ToString  抓取目前時間再加20秒,並轉為字串。


QQ:那前一天的日期怎麼取得?
答:Now.AddDays(-1).Date   很簡單吧!

方法都還蠻簡單的,換你試試看囉!

QQ:請問 SELECT getdate()+1 結果為何呢?

 

~ End

 



 

回應
關鍵字
Google Search
Google
累積 | 今日
loading......
平均分數:0 顆星
投票人數:0
我要評分:
Google
sitetag