Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#如何使用YamlDotNet序列化DateTime,以便反序列化?_C#_.net_Yamldotnet - Fatal编程技术网

c#如何使用YamlDotNet序列化DateTime,以便反序列化?

c#如何使用YamlDotNet序列化DateTime,以便反序列化?,c#,.net,yamldotnet,C#,.net,Yamldotnet,在.net Framework 4.8中,我试图通过包含DateTime字段的对象进行序列化,该字段通常通过DateTime.Now调用创建。 我为该对象使用自定义序列化程序,并将以下内容作为键的值。这会产生一个有效的yaml,我可以反序列化它 session.StartTime.ToString(CultureInfo.InvariantCulture) Yaml生成: StartTime: 03/27/2020 18:59:27 当反序列化时,我得到一个具有相同年、月、日、小时和秒的Da

在.net Framework 4.8中,我试图通过包含
DateTime
字段的对象进行序列化,该字段通常通过
DateTime.Now
调用创建。 我为该对象使用自定义序列化程序,并将以下内容作为键的值。这会产生一个有效的yaml,我可以反序列化它

session.StartTime.ToString(CultureInfo.InvariantCulture)
Yaml生成:

StartTime: 03/27/2020 18:59:27
当反序列化时,我得到一个具有相同年、月、日、小时和秒的
DateTime
对象,但刻度似乎不同

637209323680070971
-在原件上

63720932368000000
-在反序列化的一个上:

如何序列化/反序列化它,使这两个对象相同


我不需要额外的记号所提供的准确性,但我不知道如何删除它们,也不知道解决此错误的正确方法。如果您不关心毫秒,则无需执行任何操作,因为解析的值等于您在YAML中写入的值

如果需要毫秒,可以使用,
“o”

默认情况下,YamlDotNet将使用
Convert.ChangeType
解析日期,该方法接受该格式

session.StartTime.ToString("o", CultureInfo.InvariantCulture)