4

我正在使用 ASP.NET 创建一个网络聊天应用程序。当消息被发送并转发回客户时,我已经让聊天系统正常工作。但是我注意到了一些事情,但从没想过这会是个问题。我来自英国,聊天应用程序位于美国的服务器上,并注意到消息显示时间时,时间位于美国时区。我将如何设置与用户时区相对应的时区。

4

2 回答 2

5

以 UTC 存储您的数据。总是。因此,不要存储GETDATE(),而是存储GETUTCDATE()(或SYSUTCDATETIME()在 SQL Server 2008+ 中)。

这使得将聊天中的所有时间转换为用户所在的任何时区变得非常容易。如果您不想在 SQL 中进行转换,ASP.NET 中有很多工具可以帮助您进行这种转换。

于 2013-01-28T04:25:11.080 回答
0

我正在将日期区域更改为我需要的巴西时间。

VALUES (GETDATE () AT TIME ZONE 'UTC' AT TIME ZONE 'E. South America Standard Time');
于 2021-01-12T13:52:57.437 回答