title: Finding difference between string time objects in python
body: <p>I have a list of strings that I am reading from a file - Each of the strings has a time offset that was recorded while storing the data.</p>
  
  <pre><code>date1= "Mon May 05 20:00:00 EDT 2014"
  date2="Mon Nov 18 19:00:00 EST 2013"
  date3="Mon Nov 07 19:00:00 PST 2013"
  </code></pre>
  
  <p>I need to find the difference in days between each pair of strings. </p>
  
  <pre><code>from datetime import datetime
  from dateutil import tz
  
  def days_hours_minutes(td):
      return td.days, td.seconds//3600, (td.seconds//60)%60
  
  date1='Fri Dec 05 19:00:00  2014' # it does not work with EDT, EST etc.
  date2='Fri Dec 03 19:00:00 2014'
  
  fmt = "%a %b %d %H:%M:%S  %Y"
  
  str1 = datetime.strptime(date1, fmt)
  str2 = datetime.strptime(date2, fmt)
  td=(str1-str2)
  x=days_hours_minutes(td)
  print x
  #gives (2, 0, 0)
  </code></pre>
  
  <p>Basically,  convert each string to its "my_time_obj" and then take the difference in days.</p>
  
  <p>However, my actual string dates, have "EDT", "EST", "IST" etc - and on using the %Z notation, I get the <code>ValueError: time data 'Fri Dec 05 19:00:00 EST 2014' does not match format '%a %b %d %H:%M:%S %Z %Y</code>'</p>
  
  <p>from the datetime documentation, I see that I can use %Z to convert this to a timezone notation - what am I missing ?
  <a href="https://docs.python.org/2/library/datetime.html" rel="nofollow">https://docs.python.org/2/library/datetime.html</a></p>