DateTime.Now在Web应用程序中真正得到了哪些时间?

时间:2012-12-26 15:23:43

标签: c# datetime web-applications asp.net-mvc-4

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

  private DateTime currentDateTime = DateTime.Now;

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

currentDateTime的价值是什么?

一个。打开我的应用程序的浏览器/计算机的DateTime(时区问题)

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

很抱歉,我刚开始使用网络应用程序,所以这个让我很困惑。希望你能向我澄清一下。感谢。

5 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:6)

ASP.Net代码正在服务器上执行,因此它将是服务器时间。

答案 2 :(得分:4)

正确答案是:

湾我部署应用程序的服务器的DateTime,就像代码执行的那样。

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

如果您需要向客户显示日期,只需按照客户时区偏移已保存的时间,您就是黄金。

答案 3 :(得分:4)

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

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

答案 4 :(得分:2)

这将是服务器上的时间。