MSSQL中的Unix时间戳

2012-03-27  金城  3406

时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采用。

php中获取时间戳的方法是:time();

MySQL中获取时间戳的方法是:UNIX_TIMESTAMP();

MSSQL中是什么呢?没找到?试试 DATEDIFF(second, '1970/01/01 00:00:00',GetDate())

下面做成一个函数放到你的MSSQL中,就可以方便的使用如同php或mysql中的功能了(再MSSQL企业管理器中点击当前数据库,新建查询,粘贴下面的代码,按F5运行一次)

CREATE FUNCTION [dbo].[UNIX_TIMESTAMP] (@date datetime)
RETURNS int
AS
BEGIN
DECLARE @ret int
SELECT @ret = DATEDIFF(second, '1970/01/01 00:00:00',@date)
RETURN @ret
END
GO
-- 调用方法 SELECT dbo.UNIX_TIMESTAMP(GETDATE())

好事做到底,顺便写一下ASP/VBScrip中的时间戳功能,与MSSQL相似

<%
response.write DateDiff("s","1970-1-1 0:0:0",now())
%>

C#中的UNIX时间戳