Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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# 如何解析此DateTimeOffset?_C#_.net_Date_Datetimeoffset - Fatal编程技术网

C# 如何解析此DateTimeOffset?

C# 如何解析此DateTimeOffset?,c#,.net,date,datetimeoffset,C#,.net,Date,Datetimeoffset,我得到的DateTimeOffset字符串是“2018-10-16T193850+0200”,但我认为它不是标准格式。主要是“+0200”部分不标准,因为它缺少冒号 我必须指定什么格式来解析这样的DateTimeOffset?谢谢大家! 您可以使用: 阅读:您可以使用: 阅读:不幸的是,设置为空字符串没有帮助 但您可以按如下方式使用: DateTimeOffset date = DateTimeOffset.ParseExact("2018-10-16T193850+0200", "yyyy'-

我得到的DateTimeOffset字符串是“2018-10-16T193850+0200”,但我认为它不是标准格式。主要是“+0200”部分不标准,因为它缺少冒号

我必须指定什么格式来解析这样的DateTimeOffset?谢谢大家!

您可以使用:

阅读:

您可以使用:

阅读:

不幸的是,设置为空字符串没有帮助

但您可以按如下方式使用:

DateTimeOffset date = DateTimeOffset.ParseExact("2018-10-16T193850+0200", "yyyy'-'MM'-'dd'T'HH''mm''ss''K", CultureInfo.InvariantCulture.DateTimeFormat);
诀窍是指定“K”格式说明符,以便接受各种偏移量。除上述日期字符串外,还将正确解析以下内容:

“2018-10-16T193850Z”-UTC

“2018-10-16T193850”-当地时间

编辑
我的答案与Tim Schmelter的答案相似,除了“K”部分。

不幸的是,设置为空字符串没有帮助

但您可以按如下方式使用:

DateTimeOffset date = DateTimeOffset.ParseExact("2018-10-16T193850+0200", "yyyy'-'MM'-'dd'T'HH''mm''ss''K", CultureInfo.InvariantCulture.DateTimeFormat);
诀窍是指定“K”格式说明符,以便接受各种偏移量。除上述日期字符串外,还将正确解析以下内容:

“2018-10-16T193850Z”-UTC

“2018-10-16T193850”-当地时间

编辑

我的答案与Tim Schmelter的答案相似,除了“K”部分。

将DateTimeOffset.ParseExact(“2018-10-16T193850+0200”,“yyyy-MM-dd'HHmmsszzzz”,CultureInfo.InvariantCulture)不够?@Bas:是的,因为它是相同的。如果你调用重载
ParseExact
将调用我上面使用的重载,并传递
DateTimeStyles.None
作为第四个参数。DateTimeOffset.ParseExact(“2018-10-16T193850+0200”,“yyyy-MM-dd'HHMMSSZZZZZ”,CultureInfo.InvariantCulture)是否不够?Bas:是的,因为它是相同的。如果调用重载,则
ParseExact
将调用我上面使用的重载,并传递
DateTimeStyles.None
作为第四个参数。我认为这是非标准的,因为日期已展开(带有连字符),但时间和时间偏移量是基本的(缺少冒号)。我认为这是非标准的,因为日期已展开(带有连字符)但是时间和时间偏移是基本的(缺少冒号)。