.NET中的DateTime.Now有时会出错吗?

时间:2013-07-04 03:42:50

标签: c# asp.net-mvc-3 datetime

在我的网络应用中,当用户点击“开始”按钮时,我会按DateTime.Now记录时间并将其保存到sql server db。 此操作一天多次使用。有时,一两天,它会记录错误的时间。 我跟踪了所有代码,以确保我的代码中没有任何地方更新此列值。 请注意,我的Web应用程序完全在客户端计算机上运行(IIS,sql server express)。 我想也许DateTime.Now记得错误的时间。 请提一些建议吗?

2 个答案:

答案 0 :(得分:2)

.Net DateTime.Now从代码执行的任何一台计算机上获取时间。

我建议您希望从数据库服务器获取日期和时间。假设这是SQL Server,您将使用如下语句:

select getdate() 

http://msdn.microsoft.com/en-us/library/ms188383.aspx

答案 1 :(得分:0)

除了Derek的解决方案之外,我建议您查看缓存DateTime.Now()var的代码中的要点。可能是你在代码loigc开始时捕获它,因此,根据条件,获取日期时间和将其传递到服务器之间所经过的时间可能差异很大。

我的建议(在没有代码的情况下),将确保对变量的日期时间缓存实际上是调用sqlserver之前的最后一个操作(除非当然,监视方法的持续时间很重要 - 在这种情况下,取两个DateTime变量,一个在顶部,一个在底部,并传递两个。)