我正在尝试与TeamCity REST API集成.它包含表单的时间戳20100804T104413+0100.它几乎是 ISO 8601,但不包含连字符.
如何将其从a转换string为DateTime.NET?我试过了:
DateTime.ParseExact(s, "yyyyMMddTHHmmss+zzzz", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
(没有+ zzzz),但我明白了 String was not recognized as a valid DateTime.
这对我有用:
using System;
using System.Globalization;
class Test
{
static void Main()
{
string text = "20100804T104413+0100";
DateTime dt = DateTime.ParseExact
(text,
"yyyyMMdd'T'HHmmsszzz",
CultureInfo.InvariantCulture);
Console.WriteLine(dt);
}
}
Run Code Online (Sandbox Code Playgroud)
你实际上并不需要"T"周围的引号,但我倾向于将它们放入以使模式更清晰.同样地,"zzz"可以是"zzzz" - 但我认为问题是你在"zzz"之前的"+".
请注意,如果您使用相同的格式重新格式化它,您将在偏移说明符的中间以":"结尾:(
| 归档时间: |
|
| 查看次数: |
1646 次 |
| 最近记录: |