C# 可以使用DateTime吗?现在我真正需要DateTime.UtcNow的地方是什么?

C# 可以使用DateTime吗?现在我真正需要DateTime.UtcNow的地方是什么?,c#,.net,C#,.net,是否有办法强制DateTime.Now始终返回DateTime.UtcNow以供应用程序使用 --编辑 我的意图是: 我有一个非常敏感的应用程序。我无法重写所有需要重写的地方(耗时)。程序员有时在时间压力下忘记使用utcnow。我认为最好的选择是在应用程序中使用模拟返回日期时间 对于单元测试或其他函数,可以使用自定义日期时间 看看这个: 我不能重写它所在的所有地方(耗时) 是的,这需要一分钟(在文件中替换文件)加上单元测试,告诉您哪些失败了 另一种方法是搞乱程序新部分的行为,用户可能出于任何原

是否有办法强制
DateTime.Now
始终返回
DateTime.UtcNow
以供应用程序使用

--编辑 我的意图是:
我有一个非常敏感的应用程序。我无法重写所有需要重写的地方(耗时)。程序员有时在时间压力下忘记使用utcnow。

我认为最好的选择是在应用程序中使用模拟返回日期时间

对于单元测试或其他函数,可以使用自定义日期时间

看看这个:

我不能重写它所在的所有地方(耗时)

是的,这需要一分钟(在文件中替换文件)加上单元测试,告诉您哪些失败了

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


DateTime.Now是静态的,所以它必须是这种形式,发现这很简单。修复这些情况相对来说比较困难,除非您必须为输入和输出添加转换例程之类的东西,而且在任何情况下都必须这样做。

您可以创建自己的静态DateTime类;)但我猜这就是你所能做的一切,多比“任意”,你不是指随机的吗?但是为什么你不能直接打电话给
DateTime.UtcNow
?去冰岛或布基纳法索?:)更严重的是,你知道吗?不过,这将是对测试框架的严重滥用。将机器时区设置为UTC:)滥用模拟可以提供临时解决方案,但要咬紧牙关,做正确的事情并更改
DateTime.Now
调用
DateTime.UtcNow
调用。