为XML生成日期时间格式
我正在尝试为cXML生成时间戳,如下所示。C#中是否有任何函数可用于将日期时间格式化为:2011-06-09T16:37:17+16:37 e、 g为XML生成日期时间格式,xml,c#-3.0,Xml,C# 3.0,我正在尝试为cXML生成时间戳,如下所示。C#中是否有任何函数可用于将日期时间格式化为:2011-06-09T16:37:17+16:37 e、 g 使用“o”格式说明符-请阅读MSDN文档中的此说明符 此说明符的模式反映了已定义的标准(ISO 8601) 以及: 2009年6月15日下午1:45:30->2009-06-15T13:45:30.0900000 如果这不是你想要的,你将需要使用a-我相信你需要这样做,因为偏移量不是标准的 string formatted = DateTime.
使用“o”格式说明符-请阅读MSDN文档中的此说明符
此说明符的模式反映了已定义的标准(ISO 8601)
以及:
2009年6月15日下午1:45:30->2009-06-15T13:45:30.0900000
如果这不是你想要的,你将需要使用a-我相信你需要这样做,因为偏移量不是标准的
string formatted = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssK");
是,使用
DateTime.ToString(“s”)
,请参阅以下链接:。请注意,“s”
不包括时区信息,而“o”
同时包括小数秒和时区
也可以使用该方法,在该方法中还可以指定时区信息。以下是架构中日期声明的示例:
<xs:element name="start" type="xs:date"/>
文档中的元素可能如下所示:
<start>2002-09-24</start>
2002-09-24
要指定时区,可以通过在日期后添加“Z”以UTC时间输入日期:
<start>2002-09-24Z</start>
<start>2002-09-24-06:00</start>
2002-09-24Z
或者,您可以通过在日期后添加正时间或负时间来指定与UTC时间的偏移量:
<start>2002-09-24Z</start>
<start>2002-09-24-06:00</start>
2002-09-24-06:00
或
2002-09-24+06:00
您可以使用ToString方法
DateTime time = DateTime.Now;
string format = "MMM ddd d HH:mm yyyy"; // or any format you want
Console.WriteLine(time.ToString(format));
+16:37
部分的目的是什么?在这里,它是用来表示时区的,但这里的情况似乎不是这样。请看第二个答案。使用“o”,您需要“处理”UTC,这对本地应用程序来说是不必要的。“s”将是我应得的!
DateTime time = DateTime.Now;
string format = "MMM ddd d HH:mm yyyy"; // or any format you want
Console.WriteLine(time.ToString(format));