【发布时间】:2019-12-11 08:23:28
【问题描述】:
上下文:我正在序列化一些数据,其中包含我需要显示毫秒的日期。我正在使用 XmlSerializer 编写 XML 文件。我正在使用 DataTable 从数据库中获取一些数据。
我实际上在做什么:我是这样投日期的
CDate(dr("MyDate")).ToUniversalTime()
但是一旦序列化,这不包括毫秒。
在尝试一些解决方法时,我发现以相同的方式进行序列化
DateTime.Now.ToUniversalTime()
确实包括毫秒。
实际问题:在序列化 dr("MyDate") 时我应该怎么做才能包含毫秒?
请注意,VB.NET 或 C# 中的答案都被广泛接受。
【问题讨论】:
-
您使用的是什么数据库,MyDate 列是什么数据类型
-
数据库:Microsoft SQL Server 2016 SP1;列:DateTime2(3)
-
如果对您有用,如果您使用的是 SQL Server,也可以使用
FOR XML为您做很多工作。 -
您应该使用 DateTime2(7) 来存储更精确的日期时间值。 docs.microsoft.com/en-us/sql/t-sql/data-types/…
-
我正在使用 DateTime2(3),因为我无法从进入数据库的提要中获得更准确的数据。