If the timezone part is important to you, here is one solution :
select convert(datetime, convert(datetimeoffset, stuff(substring('Thu, 31 Oct 2013 10:51:18 +0000',5,27),26,0,':'),1),1);
You can change the timezone part to see different outputs.
If all of the time zones are +0000
so you can ignore it completely:
select cast( substring('Thu, 31 Oct 2013 10:51:18 +0000',5,22) as datetime)
Using the SUBSTRING
is to choose the understandable part for the SQL Server.