如何将此特殊日期和时间解析为DateTime?

时间:2015-10-12 20:35:04

标签: c# datetime

我有这个字符串“Sun Oct 11 21:53:26 +0000 2015”,我想使用DateTime方法解析它,但它失败了,我该怎么办?

我尝试用空字符串(“”)替换“+0000”部分,但仍无效。

编辑:我得到的错误是“不是有效的DateTime值”

以下是一些代码:

 string JSONStr = TwitterHelper.getInstance().GetReq_UserTimeline(tbScreenName.Text, 1);

 JArray jarr = JsonConvert.DeserializeObject<JArray>(JSONStr);

 string a = jarr[0]["created_at"].ToString().Replace("+0000", "");

 currentTweetInfo.created_at = DateTime.Parse(a);

2 个答案:

答案 0 :(得分:7)

对于您的特定字符串(假设时区偏移量始终为+0000),格式字符串将为:

var s  = "Sun Oct 11 21:53:26 +0000 2015";

var dt = DateTime.ParseExact(s,"ddd MMM dd HH:mm:ss +0000 yyyy",
                               CultureInfo.InvariantCulture);

答案 1 :(得分:0)

您可以使用ParseExact

string dateString, format;  
DateTime result;
CultureInfo provider = CultureInfo.InvariantCulture;

// Parse date and time with custom specifier.
dateString = "Sun 15 Jun 2008 8:30 AM -06:00";
format = "ddd dd MMM yyyy h:mm tt zzz";
result = DateTime.ParseExact(dateString, format, provider);

有关详情,请访问:https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx