str = "Tue, 10 Aug 2010 01:20:19 +0400" puts Date.parse str 2010-08-10 puts Date.parse(Time.parse(str).utc.to_s) 2010-08-09 Or simply Time.zone.parse(str) # using Time with zone is a good rule of thumb