我正在尝试编写一个 .net 类,将一段 xml 转换为 AX UtcDateTime 类型。该类用于入站转换。
原始xml:
<DateTime>
<Date>2014-06-12</Date>
<Time>10:52:00</Time>
<Zone>+02:00</Zone>
</DateTime>
我生成的 xml 导致 exeptionlog 中出现异常:
“值 '2014-06-12T12:52:00+02:00' 不是有效的 UtcDateTime 类型。”
我认为 AIF 期望 Z 在值的末尾,我不确定 localDateTime 是否是强制性的,或者毫秒是否是必需的。
我想知道转换后的 xml 中的 UtcDateTime 字段应如何格式化以被 AIF 接受。
像这样:
<MessageHeaderDateTime localDateTime="2014-06-12T10:52:00+02:00">2014-06-12T08:52:00Z</MessageHeaderDateTime>
或者像这样:
<MessageHeaderDateTime localDateTime="2014-06-12T10:52:00.1108723+02:00">2014-06-12T08:52:00.1108723Z</MessageHeaderDateTime>
还是缺少其他东西?
我的代码
DateTime netdttm = new DateTime(year, month, day, hour, minute, second, DateTimeKind.Utc);
TimeSpan timespan = new TimeSpan(zhour, zminute, 0);
DateTime netdttmoffset = netdttm.Subtract(timespan);
datetime.Value = netdttmoffset;
datetime.localDateTime = netdttmoffset.ToLocalTime();
datetime.localDateTimeSpecified = true;
对于使用 utcnow 的情况,我使用了类似的方法。
问题 i 由于在我必须开发代码的环境中禁用了热插拔,我的测试可能性有限。所以我想确定格式。
感谢您的帮助。