C# 将yyyy mm ddThh:mm:ssz转换为日期时间-小时返回错误
我有一个以下格式的字符串:C# 将yyyy mm ddThh:mm:ssz转换为日期时间-小时返回错误,c#,date,C#,Date,我有一个以下格式的字符串: yyyy-mm-ddThh:mm:ssZ 示例字符串: 2013-09-15T00:24:26.4215967Z 我需要将其转换为日期时间,因此我使用以下代码: string testDateExample = "2013-09-15T00:24:26.4215967Z"; DateTime dateConversion = XmlConvert.ToDateTime(testDateExample); Console.WriteLine(dateConversi
yyyy-mm-ddThh:mm:ssZ
示例字符串:
2013-09-15T00:24:26.4215967Z
我需要将其转换为日期时间,因此我使用以下代码:
string testDateExample = "2013-09-15T00:24:26.4215967Z";
DateTime dateConversion = XmlConvert.ToDateTime(testDateExample);
Console.WriteLine(dateConversion);
这将输出:
9/15/2013 10:24:26 AM
为什么时间的00被转换为上午10点?您可以使用
例如,在下面的代码中,我得到了两个不同的结果:
Console.WriteLine(dateConversion.ToUniversalTime()+"\n"+
dateConversion);
结果:
09/15/2013 12:24:26 AM
09/15/2013 03:54:26 AM
或者正如Jon所说,您可以使用:
你可以用
例如,在下面的代码中,我得到了两个不同的结果:
Console.WriteLine(dateConversion.ToUniversalTime()+"\n"+
dateConversion);
结果:
09/15/2013 12:24:26 AM
09/15/2013 03:54:26 AM
或者正如Jon所说,您可以使用:
为什么时间的00被转换成上午10点
XmlConvert.ToDateTime(string)
返回一个DateTime
,其种类
为Local
——换句话说,它将UTC值转换为等效的系统本地时间。大概你现在所在的时区是UTC+10
您最好使用XmlConvert.ToDateTimeOffset
,或者使用:
请注意,您应该已经收到有关当前使用的重载的警告,因为它已被弃用。我在编译代码时收到以下警告:
Test.cs(12,35): warning CS0618: 'System.Xml.XmlConvert.ToDateTime(string)' is
obsolete: 'Use XmlConvert.ToDateTime() that takes in
XmlDateTimeSerializationMode'
始终注意这样的警告
为什么时间的00被转换成上午10点
XmlConvert.ToDateTime(string)
返回一个DateTime
,其种类
为Local
——换句话说,它将UTC值转换为等效的系统本地时间。大概你现在所在的时区是UTC+10
您最好使用XmlConvert.ToDateTimeOffset
,或者使用:
请注意,您应该已经收到有关当前使用的重载的警告,因为它已被弃用。我在编译代码时收到以下警告:
Test.cs(12,35): warning CS0618: 'System.Xml.XmlConvert.ToDateTime(string)' is
obsolete: 'Use XmlConvert.ToDateTime() that takes in
XmlDateTimeSerializationMode'
始终注意这样的警告。注意:它应该是
yyyy-MM-ddThh:MM:ssZ
MM
表示月份,MM
表示分钟注意:它应该是yyy-MM-ddThh:MM:ssZ
表示月份,MM
表示分钟