SQLServer时间戳与时间格式互相转换
时间戳(Unix timestamp) 是⼀种时间表⽰⽅式,定义为从格林威治时间1970年01⽉01⽇00时00分00秒起⾄现在的总秒数。
Unix时间戳不仅被使⽤在Unix系统、类Unix系统中,也在许多其他操作系统中被⼴泛采⽤;
注意:由于我们所在的国家,是东⼋区,称为北京时间,所以,要在格林威治的时间基础之上+8⼩时才是我们这边的时间;
⼀:时间格式转换成时间戳:
SELECT DATEDIFF(second, '1970-01-01 08:00:00', GETDATE())
创建函数并调⽤
/*
⽇期类型转时间戳
*/
Create Function DateToTimestamp(@DateInfo datetime)
Returns int
Begin
return DATEDIFF(second, '1970-01-01 08:00:00', @DateInfo);
End
--调⽤⽅法
SELECT dbo.DateToTimestamp(GETDATE());
⼆:时间戳转换成时间格式:
unix时间戳转换日期格式SELECT DATEADD(second,1560404817,'1970-01-01 08:00:00')
创建函数并调⽤
/*
时间戳转⽇期类型
*/
Create Function TimestampToDate(@TimestampInfo int)
Returns datetime
Begin
return DATEADD(second,@TimestampInfo,'1970-01-01 08:00:00');
End
--调⽤⽅法
SELECT dbo.TimestampToDate(1560404817);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论