首页 > 解决方案 > 比较日期适用于一台机器但不适用于另一台机器

问题描述

我有一个问题,在一台机器上比较日期失败而在另一台机器上它通过了。我正在使用 Assert.AreEqual:

Assert.AreEqual(Convert.ToDateTime(tableValue).Date, 
Convert.ToDateTime(detailsValue).Date);

我比较的日期是“10/07/2018 04:17:02”和“10/07/2018”。这是从同一个 repo 克隆的同一个项目。我认为这与文化设置有关,但我无法找到解决方案。有谁知道可能是什么原因?

标签: c#seleniumdateqa

解决方案


感谢您的重播。这是我得出的结论:

Assert.AreEqual(Convert.ToDateTime(tableValue).**Date**, 
Convert.ToDateTime(detailsValue).**Date**);

在一台机器上 Date 只考虑日期部分(这就是它通过的原因),而在另一台机器上它需要日期和时间(这就是它失败的原因)。不知道为什么。但是当我将其更改为:

Assert.AreEqual(Convert.ToDateTime(tableValue).**Seconds**, 
Convert.ToDateTime(detailsValue).**Seconds**);

它以秒为单位计算,所以它每次都失败,因为它应该这样解决了我的问题。


推荐阅读