我正在使用 ASP.NET 创建一个网络聊天应用程序。当消息发送并转发回客户端时,我已经让聊天系统正常工作。但我注意到了一些事情,但从未想过这会成为问题。我来自英国,聊天应用程序位于美国的服务器上,注意到当消息显示时间时,时间位于美国时区。我将如何设置与用户时区相对应的时区。
最佳答案
以 UTC 格式存储您的数据。总是。因此,不要存储 GETDATE()
,而是存储 GETUTCDATE()
(或 SQL Server 2008+ 中的 SYSUTCDATETIME()
)。
这使得将聊天中的所有时间转换为用户所在的时区变得非常容易。如果您不这样做,ASP.NET 中有很多工具可以帮助您完成此转换不想在 SQL 中执行此操作。
关于asp.net - 如何处理每条聊天消息的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14555399/