是否可以使用DateTime.Now我真正需要DateTime.UtcNow?

时间:2012-12-13 13:11:56

标签: c# .net

是否有某种方法可以强制DateTime.Now始终返回DateTime.UtcNow申请?

- 编辑 我的本意: 我有很大的日期时间 - 非常敏感的应用程序。我不能重写所有地方(耗时)。程序员有时会及时压力忘记使用utcnow。

2 个答案:

答案 0 :(得分:0)

我认为最适合您的方法是使用mock在您的应用程序中返回日期时间。

对于单元测试或其他功能,您可以使用自定义DateTime

看看这个:

http://blog.coreycoogan.com/2009/06/07/mocking-datetime-now/

答案 1 :(得分:0)

  

我无法重写所有地方(耗时)

是的,这需要一分钟(替换文件中的文件)加上您的单元测试,告诉您失败的原因。

另一种方法是搞乱程序新部分的行为,用户可能因任何原因需要当地时间。说真的,坐下来清理程序。

DateTime.Now是静态的,所以它必须采用这种形式,发现这是微不足道的。修复这些情况将是相对的,除了你必须添加诸如输入和输出的转换例程之类的东西 - 你必须在任何情况下都这样做。