lee*_*lee 18 c# datetime parsing
我试图解析11/23/2011 23:59:59 UTC +0800作为ac#datetime对象但是尝试标准的datetime解析方法甚至是datetime完全解析我得到无效的日期.
有任何想法吗?
Jon*_*eet 31
我建议您在格式字符串中使用时区偏移说明符时,按照MSDN中的建议解析为a DateTimeOffset而不是a :DateTime
using System;
using System.Globalization;
class Test
{
static void Main(string[] args)
{
string text = "11/23/2011 23:59:59 UTC +0800";
string pattern = "MM/dd/yyyy HH:mm:ss 'UTC' zzz";
DateTimeOffset dto = DateTimeOffset.ParseExact
(text, pattern, CultureInfo.InvariantCulture);
Console.WriteLine(dto);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,DateTime如果需要,您可以将其转换为UTC中的值,但不存在" DateTime具有8小时偏移的a" - a DateTime被视为通用,本地或未指定,无处存储特定偏移.
DateTime以各种方式是一种奇怪的类型,并且可能给不知情的开发者带来问题.