Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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# 将yyyy mm ddThh:mm:ssz转换为日期时间-小时返回错误_C#_Date - Fatal编程技术网

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
表示分钟