c# - 比较日期适用于一台机器但不适用于另一台机器
问题描述
我有一个问题,在一台机器上比较日期失败而在另一台机器上它通过了。我正在使用 Assert.AreEqual:
Assert.AreEqual(Convert.ToDateTime(tableValue).Date,
Convert.ToDateTime(detailsValue).Date);
我比较的日期是“10/07/2018 04:17:02”和“10/07/2018”。这是从同一个 repo 克隆的同一个项目。我认为这与文化设置有关,但我无法找到解决方案。有谁知道可能是什么原因?
解决方案
感谢您的重播。这是我得出的结论:
Assert.AreEqual(Convert.ToDateTime(tableValue).**Date**,
Convert.ToDateTime(detailsValue).**Date**);
在一台机器上 Date 只考虑日期部分(这就是它通过的原因),而在另一台机器上它需要日期和时间(这就是它失败的原因)。不知道为什么。但是当我将其更改为:
Assert.AreEqual(Convert.ToDateTime(tableValue).**Seconds**,
Convert.ToDateTime(detailsValue).**Seconds**);
它以秒为单位计算,所以它每次都失败,因为它应该这样解决了我的问题。
推荐阅读
- swift - 使用 Windows 快速处理 Visual Studio 代码
- c - 第八次迭代后变量设置为零
- jquery - jQuery Datepicker 在 beforeShowDay 中结合了多个函数
- flutter - 我可以阻止 ExpansionTile 重建它的孩子吗?
- kotlin - 是否可以将对象(单例)复制到 kotlin 中的数据对象?
- python - Python将夏令时转换为标准时区时间
- python - 当我可以使用普通方法获取器时,为什么要使用 @property 装饰器?
- python - 在请求库中传递 curl -d 参数时出错
- django - Django rest框架创建订单和订单项
- javascript - Typescript 访问嵌套条件类型