日期时间格式不是格式化
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()
格式化它。
我需要这种格式: 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()
格式化它。