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