从 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);

参考:DateTime.ParseExact