更新时间:2021-09-04 05:36:18
始终将DATETIME数据存储在世界协调时间(UTC aka GMT)
always store DATETIME data in Universal Time Coordinated (UTC aka GMT)
C#DateTime提供DateTime.UtcNow和ToLocalTime(),SQL提供GETUTCDATE().这是一个将UTC转换为本地时间的SQL函数-
C# DateTime provides DateTime.UtcNow and ToLocalTime(), SQL provides GETUTCDATE(). Here's a SQL function to convert UTC to local time -
-- convert UTC to local time
create FUNCTION [dbo].[udfUtcToLocalTime]
(
@gmt datetime
)
RETURNS datetime
AS
BEGIN
DECLARE @dt datetime
SELECT
@dt = dateadd(millisecond,datediff(millisecond,getutcdate(), getdate()),@gmt)
RETURN @dt
END
示例:
SELECT dbo.udfUtcToLocalTime(someDateTimeField)
FROM someTable