7

在设计 Web 应用程序时,尤其是使用 Asp.net MVC4 c#,一旦我使用

  private DateTime currentDateTime = DateTime.Now;

在我的代码中某处并将 currentDateTime 保存在数据库中;然后,我在网络上部署我的应用程序,

currentDateTime 的值是多少?

一种。打开我的应用程序的浏览器/计算机的日期时间(时区问题)

湾。我部署应用程序的服务器的日期时间(所有值都在一个时区内)

抱歉,但我刚开始使用 Web 应用程序,所以这让我感到困惑。希望你能给我澄清一下。谢谢。

4

5 回答 5

8

该值将是服务器上的本地时间。

但是,我强烈建议使用通用协调时间 (UTC),例如DateTime.UtcNow,它使日期时间的推理变得更加简单,这意味着您将能够在世界任何地方托管您的应用程序而不会产生不利影响。

于 2012-12-26T15:26:26.780 回答
7

ASP.Net 代码在服务器上执行,所以它是服务器时间。

于 2012-12-26T15:24:47.803 回答
5

正确答案是:

湾。我在其中部署我的应用程序的服务器的 DateTime,因为那是代码正在执行的地方。

还有另一个DateTime属性,DateTime.UtcNow它总是获取 UTC 时间。
我建议在应用程序和数据库中都使用它(例如 getutcdate() ins sql server),因为它可以避免各种同步问题。

如果您需要向客户显示日期,只需将保存的时间抵消客户时区,您就可以了。

于 2012-12-26T15:25:09.003 回答
5

这将是服务器上的时间,因为那是代码执行的地方。

您可能想DateTime.UtcNow改用,因为这样可以减少时区问题。当您去显示或评估时间时,您可以在客户端或服务器上轻松转换为本地时间。

于 2012-12-26T15:26:12.850 回答
2

这将是服务器上的时间。

于 2012-12-26T15:25:02.163 回答