【发布时间】:2020-11-04 19:53:47
【问题描述】:
我在 SQL Server 中有一个名为 EntryTime 的 DATETIME 字段,其值为 2020-11-04 18:55:19.437。如您所见,毫秒元素的值为437。但是,如果我从 DataRow 解析这个值:
DateTime entryTime = DateTime.MinValue;
if (row["EntryTime"] != DBNull.Value)
entryTime = DateTime.Parse(row["EntryTime"]?.ToString());
然后我得到所有除了毫秒值。
我在这里的假设是 .ToString() 正在减少毫秒,我已经在我的即时窗口中确认了这一点:
为什么会丢弃毫秒数?
【问题讨论】:
-
什么是
row,它不会直接转换为DateTime? -
@ŇɏssaPøngjǣrdenlarp 更新了我的问题,指出它是一个
DataRow,我在研究过程中了解到它已经被直接转换,这就是.ToString()减少毫秒数的原因。跨度> -
提议的副本完全解决了另一个问题,并且仅暗示通过有根据的推理来回答这个问题,这使得未来的读者不清楚。
标签: c# string datetime parsing