从 Lotus Notes 库的导出中解析日期
Parse a date from an export of a lotus notes base
在 C# 应用程序中,我必须解析 xml 文件,该文件是 Lotus Notes 数据库的导出文件。
导出包含以下格式的日期:
<noteinfo noteid='6706' unid='6B6A3ADD41061773C12580F2004E8EB3' sequence='6'>
<created>
<datetime dst='true'>20170329T161803,39+02</datetime>
</created>
<modified>
<datetime>20171108T100439,39+01</datetime>
</modified>
<revised>
<datetime>20171108T100439,38+01</datetime>
</revised>
<lastaccessed>
<datetime>20171108T100439,38+01</datetime>
</lastaccessed>
<addedtofile>
<datetime dst='true'>20170329T163711,21+02</datetime>
</addedtofile>
</noteinfo>
我必须将这些日期提取到 .Net 日期时间值中。
但是,我不明白这是什么格式。尝试解析日期失败:
var created = DateTime.Parse("20170329T161803,39+02");
投掷
String was not recognized as a valid DateTime
如何解析这种日期格式?
日期的第一部分,在逗号之前,很明显。第二部分较少。 +02
可能与 GMT+02 时区匹配,但我没有得到 39
PS:我无法控制出口
尝试
var created = DateTime.ParseExact("20170329T161803,39+02".Remove(15), "yyyyMMdd'T'HHmmss",CultureInfo.InvariantCulture);
我不确定 ,39+02
是什么时区?我把它剪掉了,但如果你能描述它是什么,也许它可以被解析
编辑:
假设这是毫秒和时区:
var created = DateTime.ParseExact("20170329T161803,39+02", "yyyyMMdd'T'HHmmss','ffz",CultureInfo.InvariantCulture);
假设 ,39
是毫秒
var created = DateTime.ParseExact("20170329T161803,38+02", "yyyyMMddTHHmmss,ffz", CultureInfo.InvariantCulture);
在 C# 应用程序中,我必须解析 xml 文件,该文件是 Lotus Notes 数据库的导出文件。
导出包含以下格式的日期:
<noteinfo noteid='6706' unid='6B6A3ADD41061773C12580F2004E8EB3' sequence='6'>
<created>
<datetime dst='true'>20170329T161803,39+02</datetime>
</created>
<modified>
<datetime>20171108T100439,39+01</datetime>
</modified>
<revised>
<datetime>20171108T100439,38+01</datetime>
</revised>
<lastaccessed>
<datetime>20171108T100439,38+01</datetime>
</lastaccessed>
<addedtofile>
<datetime dst='true'>20170329T163711,21+02</datetime>
</addedtofile>
</noteinfo>
我必须将这些日期提取到 .Net 日期时间值中。
但是,我不明白这是什么格式。尝试解析日期失败:
var created = DateTime.Parse("20170329T161803,39+02");
投掷
String was not recognized as a valid DateTime
如何解析这种日期格式?
日期的第一部分,在逗号之前,很明显。第二部分较少。 +02
可能与 GMT+02 时区匹配,但我没有得到 39
PS:我无法控制出口
尝试
var created = DateTime.ParseExact("20170329T161803,39+02".Remove(15), "yyyyMMdd'T'HHmmss",CultureInfo.InvariantCulture);
我不确定 ,39+02
是什么时区?我把它剪掉了,但如果你能描述它是什么,也许它可以被解析
编辑:
假设这是毫秒和时区:
var created = DateTime.ParseExact("20170329T161803,39+02", "yyyyMMdd'T'HHmmss','ffz",CultureInfo.InvariantCulture);
假设 ,39
是毫秒
var created = DateTime.ParseExact("20170329T161803,38+02", "yyyyMMddTHHmmss,ffz", CultureInfo.InvariantCulture);