从UTC日期和时间显示当地日期和时间的日期和时间

时间:2015-11-28 16:27:18

标签: asp.net-mvc datetime

我有一个人们发布各种问题的页面。我在sql server中保存日期和时间,这不是UTC日期和时间。我们的网络服务器在美国电脑上运行。所以告诉我如何在这样的情况下保存日期和时间,当人们看到他们发布的问题然后他们会根据当地时间看到发布的日期和时间。

我有一个计划,我可以在sql server中以UTC格式保存日期和时间,并以UTC格式获取该日期和时间,并通过c#将该utc日期和时间转换为本地日期和时间,但问题是我们的服务器端逻辑将在美国运行pc。所以如果我转换到当地的日期和时间,那么它将是美国当地的日期和时间。

请告诉我在mvc服务器端应该使用什么逻辑,因为用户将看到我的页面,他们将根据当地时间查看日期和时间。

我无法使用用户时区,因为用户时区相关信息永远不会从客户端PC传递到服务器端。

多数受欢迎的论坛如http://forums.asp.net,stackoverflow.com等这样做?

论坛从服务器端而非客户端呈现日期和时间。所以他们使用什么逻辑。

请详细指导我完成这项任务。感谢

2 个答案:

答案 0 :(得分:1)

使用UTC在SQL服务器中存储所有日期,并在客户端上以UTC显示它们。如果您需要将它们转换并显示到本地时区,则需要使用javascript并将来自服务器的UTC日期转换为本地日期时间。这是一个例子:https://stackoverflow.com/a/6525602/29407

  

多数受欢迎的论坛如http://forums.asp.net,stackoverflow.com等这样做?

我不确定其他网站,但在StackOverflow上,UI中显示的所有日期都是UTC。

答案 1 :(得分:0)

让服务器发送UTC,并让客户端将其转换为本地时间。这是另一个线程的特定解决方案:https://stackoverflow.com/a/53961671/534514