日期时间格式不是格式化

Date Time Format is not Formatting

我需要这种格式: aaaa-mm-jjThh:mm:sszzzzzz

并将其放入 XML 属性 "DateTime" 类型。

所以,我做到了:

var xmlObj= new xmlObj.tHeader();
xmlObj.prop = DateTime.ParseExact(DateTime.Now.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"), "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'", CultureInfo.InvariantCulture);

Console.WriteLine(xmlObj.prop);

Console.WriteLine 指令 return : 03/05/2016 15:43:10

我不明白为什么 属性 删除格式。

在 XSD 中,此 属性 正在等待日期时间格式。

有什么想法吗?

编辑:

好的,在命令结果中,我看到了默认格式,但是如果将我的 XML 对象转换为文件,格式是正确的:

很奇怪...不过现在好了。非常感谢大家

你的格式在解析时是错误的,如果你想要 yyyy-MM-ddTHH:mm:ssz 格式那么你必须将它转换为字符串否则,它将代表标准的日期时间,试试这个

xmlObj.prop = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ"), "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture);
Console.WriteLine(xmlObj.prop.ToString("yyyy-MM-ddTHH:mm:ssz"));

你试试这个:

Console.WriteLine(DateTime.UtcNow.ToString("s") + "Z");

您正在调用 DateTime.ParseExact,它将字符串解析为 DateTime 对象。只需删除该部分并将 ToString 的结果直接分配给 xmlObj.prop,或直接分配 DateTime 对象(如果这是它正在寻找的对象)。

编辑:

为了解决您的编辑问题,您的 XML 文件已正确生成。但是,当您将 DateTime 属性输出到控制台时,它使用默认的日期字符串格式。如果需要,您可以使用 ToString() 格式化它。