Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C以YYYY MM DDThh:MM:ssTZD格式获取DateTime.Now()#_C#_Datetime - Fatal编程技术网

C# 如何使用C以YYYY MM DDThh:MM:ssTZD格式获取DateTime.Now()#

C# 如何使用C以YYYY MM DDThh:MM:ssTZD格式获取DateTime.Now()#,c#,datetime,C#,Datetime,可能重复: 这是我想在sitemap中使用的W3C标准日期时间格式之一。此日期时间标准为: 完成日期加上小时、分钟和秒: YYYY-MM-DDThh:MM:ssTZD,其中TZD=时区指示器(Z或+hh:MM或-hh:MM)(例如1997-07-16T19:20:30+01:00) 我使用以下代码获取该格式的当前日期时间: DateTime.Now.ToString("yyyy-MM-ddThh:mm:ssTZD"); 但这给出了:2011-08-10T02:27:20TZD 显然DateT

可能重复:

这是我想在sitemap中使用的W3C标准日期时间格式之一。此日期时间标准为:

完成日期加上小时、分钟和秒: YYYY-MM-DDThh:MM:ssTZD,其中TZD=时区指示器(Z或+hh:MM或-hh:MM)(例如1997-07-16T19:20:30+01:00)

我使用以下代码获取该格式的当前日期时间:

DateTime.Now.ToString("yyyy-MM-ddThh:mm:ssTZD");
但这给出了:2011-08-10T02:27:20TZD


显然DateTime.Now无法识别参数中的“TZD”。请帮忙。如何获取此格式的当前日期时间?

使用
zzz
格式说明符以小时和分钟的形式获取时区偏移量。您还需要使用
HH
格式说明符以24小时格式获取小时数

DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz")
结果:

2011-08-09T23:49:58+02:00
某些区域性设置使用句点而不是冒号表示时间,因此您可能希望使用文字冒号而不是时间分隔符:

DateTime.Now.ToString("yyyy-MM-ddTHH':'mm':'sszzz")
试试这个:

DateTime.Now.ToString("yyyy-MM-ddThh:mm:sszzz");
zzz
是时区偏移。

使用zzz而不是TZD

例如:

DateTime.Now.ToString("yyyy-MM-ddThh:mm:sszzz");
答复:

2011-08-09T11:50:00:02+02:00

你怎么可能有24小时mod和12小时me模式?加上一个文字冒号;人们往往会忘记,
表示当前格式提供程序的时间分隔符。传递
CultureInfo.InvariantCulture
是确保不翻译
的一种方法。此外,它还确保使用公历,因为当前文化的日历也可能是其他日历。@genesis大写字母“HH”表示24小时格式,小写字母“HH”表示12小时格式。
DateTime。现在
甚至从未看到该参数。它是
ToString
方法的一个参数。有没有办法也增加毫秒?哦,是的!我找到了…:fff-代表秒的分数
code
DateTime.Now.ToString(“yyyy-MM-ddThh:MM:ss:fffzzz”);