Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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# 将字符串转换为日期-这是什么格式?_C#_.net_Datetime - Fatal编程技术网

C# 将字符串转换为日期-这是什么格式?

C# 将字符串转换为日期-这是什么格式?,c#,.net,datetime,C#,.net,Datetime,我有以下日期时间字符串2014-11-03 08:44:00:082467 Z 当我尝试执行c simple Convert.ToDateTime时,我得到一个错误,它不是可识别的日期时间字符串 我还尝试了这里帖子中的建议: 但也犯了同样的错误。这是什么类型的日期时间字符串?如何将其转换为DateTime对象?而且,这不是我2小时前的当前时间,所以我猜这是某种世界时间 谢谢看起来像是格式 DateTime.Now.ToStringo这是适用于字符串的格式,尽管根据标准它不是有效字符串: 您在问题

我有以下日期时间字符串2014-11-03 08:44:00:082467 Z

当我尝试执行c simple Convert.ToDateTime时,我得到一个错误,它不是可识别的日期时间字符串

我还尝试了这里帖子中的建议:

但也犯了同样的错误。这是什么类型的日期时间字符串?如何将其转换为DateTime对象?而且,这不是我2小时前的当前时间,所以我猜这是某种世界时间

谢谢

看起来像是格式


DateTime.Now.ToStringo

这是适用于字符串的格式,尽管根据标准它不是有效字符串:


您在问题中提供的两个日期完全不同

假设你的问题适用于第二个,看起来是标准的,答案是:

string s = "2012-09-30T23:00:00.0000000Z";
var date = DateTime.ParseExact(s, "o", CultureInfo.InvariantCulture,
                                   DateTimeStyles.AssumeUniversal |
                                   DateTimeStyles.AdjustToUniversal);
Console.WriteLine(date);

完整工作示例

您是否尝试调整日期格式字符串以匹配您的数据?在次秒值之前有一个:而不是一个是非常奇怪的。@PatrickHofman我发布的代码来自我发现的另一篇文章-它对我的字符串不起作用。那么如何从字符串进行转换呢?DateTime=DateTime.ParseExactdate,o,CultureInfo.InvariantCulture,DateTimeStyles.AssumeUniversal;将解析时间。需要应用的任何偏移量,我将留给您。
var date = DateTime.ParseExact("2014-11-03 08:44:00:082467 Z",
                               "yyyy-MM-dd' 'HH:mm:ss:ffffff' Z'",
                               CultureInfo.InvariantCulture,
                               DateTimeStyles.AssumeUniversal |
                               DateTimeStyles.AdjustToUniversal);
string s = "2012-09-30T23:00:00.0000000Z";
var date = DateTime.ParseExact(s, "o", CultureInfo.InvariantCulture,
                                   DateTimeStyles.AssumeUniversal |
                                   DateTimeStyles.AdjustToUniversal);
Console.WriteLine(date);