Add 2 hours to date string

I have this date string:

Mon, 14 Feb 2011 20:35:00 +0700

I need to add 2 hours to it, but since it’s not standard date string, all the normal methods fail.

Please show us how your script gets this date.
It might indicate the path to a solution.

This date comes directly from rss-feed and it is downloaded using curl.

Sun, 13 Feb 2011 21:17:12 +0700

OK, so there’s nothing you can do about it being text.
This bit of code works for me, but only because the original string is almost my system’s date format.

set dateStr to "Sun, 13 Feb 2011 21:17:12 +0700"

set text item delimiters to " "
set dateStr to dateStr's text items 2 thru -2 -->{"13", "Feb", "2011", "21:17:12"}
set dateStr to dateStr as text --> "13 Feb 2011 21:17:12"
-- this happens to be a date in MY system's date format
-- so this works:
set theDate to date dateStr
set text item delimiters to ""

theDate --> date "zondag 13 februari 2011 21:17:12"

Now you can add 2 hours, and the result should be correct, even when you go past midnight:

tell theDate
	set it's time to (it's time) + 3 * hours -- go past midnight
end tell
theDate --> date "maandag 14 februari 2011 00:17:12"

When your system uses another date format you must rearrange the items in the list before turning it back into text, then date object:

set dateStr_as_list to {"13", "Feb", "2011", "21:17:12"}
set {theDay, theMonth, theYear, theTime} to dateStr_as_list

Rearrange those variables into your own date format, and you’re all set.