格式转换发生在日期但不知道为什么?

时间:2011-01-20 06:40:51

标签: wpf xml xaml datetime datepicker

我面临一个奇怪的问题。首先,当我在XML中插入一条记录时,该记录包含绑定到XAML中的DatePicker的日期属性。元素的格式为 2011-01-22T00:00:00

然后有一个更新页面,其中填充了从XML读取的值。我正在读这样的日期 Date = DateTime.Parse(record.Element(“Date”)。Value;

现在,当我点击更新,并将此日期值替换为 record.Element(“Date”)。值=日期。格式Changes和Date元素类似于 22-01-2011 00:00:00

1 个答案:

答案 0 :(得分:0)

我找到了这种格式转换的原因。实际上起初我直接将日期插入到xml中,就像这个doc.Element("root").Add(new XElement("Date", dt)))一样,但在更新时,日期首先转换为字符串,然后更新/添加到XML。

结论

  • 将DateTime直接插入XML 有 SortableDateTimePattern (基于ISO 8601)使用当地时间; 用这种格式模式, 格式化或解析操作 总是使用不变的文化
  • 插入时 DateTime.ToString()转换 DateTime对象的值 等效字符串表示。 (重写ValueType .. ::。ToString ()()()。)

谢谢大家。