2017-06-22 94 views
1

我读了SQL Server的最新文档,我只是想确保我为这里做正确的事,节能SQL服务器的日期与时间区

余米试图挽救的日期和时间使用SYSDATETIMEOFFSET()创建记录,但我知道这个值不对应于客户端的日期和时间,如果客户端在不同的时区。所以我的想法是, 保存使用SYSDATETIMEOFFSET()并保存客户端的时区,然后我可以在客户端显示时间相应的日期和时间,有没有另一种方式做呢?

保存日期/时间以便稍后将其显示给客户端以对应其时区的最佳方式是什么?

+1

你的问题是什么? –

+0

我更新了问题 – JSON

+6

将所有内容保存为UTC并在调用堆栈中尽可能晚地转换为用户的时区(即理想情况下在表示层中)。 – Igor

回答

3

将所有内容保存为UTC并在调用堆栈中尽可能晚地转换为用户时区(即理想情况下在表示层中)。

+0

你是否建议使用'datetimeoffset'?或者只是'datetime2'与应用程序始终保存UTC日期时间的业务规则? –

+0

@BaconBits - 后者是我个人的偏好,假设数据库中的所有日期始终以UTC格式存储。 – Igor

2

节省时间的最佳方式是以UTC保存。请参阅SYSUTCDATE。根据需要可轻松将其转换为不同的时区。如果您有客户端时区,则可以将时间转换为相应的客户端时区。请参阅SwitchOffset

相关问题