我正在使用从 .csv 文件中读取的数据来参数化我的测试用例。csv 文件中的一列具有美国格式的简单日期值(作为常规字符串),例如mm/dd/yyyy
. 但是,当实际读取数据并将其填充到 aTestContext
中时,TestContext.DataRow["MyDateColumn"]
实际上会返回一个转换后的System.DateTime
对象,并带有时间戳12:00:00 AM
。我绝对不需要也不想要这种自动转换。我该如何阻止这种情况发生?
问问题
836 次
4 回答
2
如果 MyDateColumn 的类型设置为 datetime,那么它将/应该返回一个 datetime 对象。
尝试将 MyDateColumn 的类型更改为字符串,看看是否可以解决问题。
更新
更改 CSV 中的日期,使其为“mm/dd/yyyy”而不是 mm/dd/yyyy。
于 2011-03-04T13:36:05.283 回答
0
DateTime.Parse(TestContext.DataRow["MyDateColumn"], CultureInfo.InvariantCulture).ToShortDateString()
于 2011-03-04T12:09:56.957 回答
0
我得到了解决方案:)
我只是把 ' 放在实际数据之前。当我检索数据时,数据按原样出现。在使用它之前,我使用 substring 方法从数据中删除 '。
我记得在 excel 上使用这种技术使数字显示为文本。它对我有用。
于 2015-02-12T21:33:43.313 回答
0
我在数据周围放了双引号。这会返回字符串,而不会删除引号。
columnInt, columnString
1, "11.12.89"
2, "12.12.89"
于 2020-07-29T18:07:40.487 回答