数据库驻留在SQL Server 2008中......
我有一个位于不同国家/地区的数据库,我希望表DateCreated和DateUpdated具有例如日期和时间加拿大/ ON /多伦多时区而不是 数据库所在的美国时区。
DateCreated的默认值为GetDate(),DateUpdated具有以下触发器:
CREATE TRIGGER trigger_name ON table_name
AFTER UPDATE
AS
BEGIN
UPDATE table_name
SET dateModified = GETDATE()
FROM table_name cm JOIN Inserted i
ON cm.companyid = i.companyid;
END
GO
答案 0 :(得分:1)
要将datetime
从一个时区转换为另一个时区,请添加(目标时区位于当前时区以东)或减去(向西)两个区域之间的小时数差异。例如,如果数据库位于加利福尼亚州(太平洋时间),请添加三个小时以获取多伦多时间(东部时间)。无需调整DST,因为两个时区都会观察它。
如上所述,您应该考虑将所有时间转换为UTC并调整应用程序以将时间转换为本地时间。然后,无论数据库在何处,您的数据库都将具有正确的时间。