sql server 计算时间戳

1.计算时间戳是当天的几点钟:

((timestemp  + 28800)%86400)

timestemp:时间戳;28800:8*3600,因为时间戳为GMT(格林尼治标准时间)需要加上8小时的时差转为北京时间;86400:一天的秒数;

1524105982转换为日期2018-04-19 10:46:22

e.g. ((1524105982 + 28800)%86400) = 38782,38782:这一天过去的秒数。38782/3600=10,10:小时。38782%3600/60=46,46:分钟。38782%3600%60=22,22:秒。

2.计算时间戳为星期几:

select DATEPART(WEEKDAY,DATEADD(s,1524105982+28800,'1970-01-01 00:00:00'))  

输出 5

星期天~星期六:1~7;输出5所以为星期四。

select datename(WEEKDAY,DATEADD(s,1524105982+28800,'1970-01-01 00:00:00')) 

输出 星期四

3.计算时间戳为当月的几号

select DATEPART(dd,DATEADD(s,1524105982+28800,'1970-01-01 00:00:00')) 
输出 19
select datename(dd,DATEADD(s,1524105982+28800,'1970-01-01 00:00:00'))
输出 19
时间
1 分钟
60
1 小时
3600
1 天
86400
1 周
604800
1 月 (30.44 天)
2629743
1年 (365.24 天)
31556736

 

posted @ 2018-04-19 11:25  RealWorld♂  阅读(2541)  评论(0编辑  收藏  举报