-1

In the following representation of date time, what does -0600 means? And how it can be used to compare dates?

Tue, 27 Nov 2018 14:59:32 -0600

Tagging it with Python as looking for date comparison.

Vishrant
  • 15,456
  • 11
  • 71
  • 120

2 Answers2

1

-0600 is the timezone offset. Use the %z directive of datetime.datetime.strptime() to use it when making a new datetime object.

import datetime
s1 = 'Tue, 27 Nov 2018 14:59:32 -0600'
s2 = 'Tue, 27 Nov 2018 15:59:32 -0500'
s3 = 'Tue, 27 Nov 2018 14:59:32 -0500'

fmt = '%a, %d %b %Y %H:%M:%S %z'

dt1 = datetime.datetime.strptime(s1, fmt)        
dt2 = datetime.datetime.strptime(s2, fmt)        
dt3 = datetime.datetime.strptime(s3, fmt)    

>>> dt1
datetime.datetime(2018, 11, 27, 14, 59, 32, tzinfo=datetime.timezone(datetime.timedelta(-1, 64800)))
>>> dt2
datetime.datetime(2018, 11, 27, 15, 59, 32, tzinfo=datetime.timezone(datetime.timedelta(-1, 68400)))
>>> dt3
datetime.datetime(2018, 11, 27, 14, 59, 32, tzinfo=datetime.timezone(datetime.timedelta(-1, 68400)))
>>> dt1 == dt2
True
>>> dt1 == dt3
False
>>> dt1 > dt3
True
>>>
wwii
  • 23,232
  • 7
  • 37
  • 77
0

This will parse date:

datetime_obj = parser.parse(item["last_modified"])

Python script to compare date

from dateutil import parser

datetime_obj = parser.parse(item["last_modified"])

if datetime_obj > some_date_obj
Vishrant
  • 15,456
  • 11
  • 71
  • 120