GMail , . "Tue, 28 Aug 2012 02:49:13 -0500" , GMail.
stdlib
email.utils parsedate_tz() , .
, time.struct_time, . mktime_tz() ( UNIX). datetime.datetime().
formatdate(), UNIX , :
>>> from email.utils import parsedate_tz, mktime_tz, formatdate
>>> import time
>>> date = 'Tue, 28 Aug 2012 02:49:13 -0500'
>>> tt = parsedate_tz(date)
>>> timestamp = mktime_tz(tt)
>>> print formatdate(timestamp)
Tue, 28 Aug 2012 07:49:13 -0000
UTC, . ( ), localtime True:
>>> print formatdate(timestamp, True)
Tue, 28 Aug 2012 08:49:13 +0100
, , , formatdate() - (, GMail), .
python-dateutil ; , , .
>>> import dateutil.parser
>>> dt = dateutil.parser.parse(date)
>>> dt
datetime.datetime(2012, 8, 28, 2, 49, 13, tzinfo=tzoffset(None, -18000))
parse() datetime.datetime() , . .strftime(), , :
>>> print dt.strftime('%a, %b %d, %Y at %I:%M %p')
Tue, Aug 28, 2012 at 02:49 AM
, ; , .astimezone() tzone. python-dateutil .
( ):
>>> import dateutil.tz
>>> print dt.astimezone(dateutil.tz.tzlocal()).strftime('%a, %b %d, %Y at %I:%M %p')
Tue, Aug 28, 2012 at 09:49 AM
:
>>> print dt.astimezone(dateutil.tz.tzstr('Asia/Kolkata')).strftime('%a, %b %d, %Y at %I:%M %p')
Tue, Aug 28, 2012 at 07:49 AM