1

I know how to do it using strptime, but how do I account for +0530

d = '2015-04-11 21:23:39+0530'
d = datetime.strptime(d,'%Y-%m-%d %H:%M:%S')

Note Please dont suggest to slice 0530 off.

Praful Bagai
  • 16,684
  • 50
  • 136
  • 267

2 Answers2

0

Using iso8601 lib

>>> import iso8601
>>> iso8601.parse_date('2015-04-11 21:23:39+0530')
datetime.datetime(2015, 4, 11, 21, 23, 39, tzinfo=<FixedOffset '+05:30' datetime.timedelta(0, 19800)>)
>>> type(iso8601.parse_date('2015-04-11 21:23:39+0530'))
<type 'datetime.datetime'>
Mauro Baraldi
  • 6,346
  • 2
  • 32
  • 43
pnv
  • 2,985
  • 5
  • 29
  • 36
0

You can consider it using dateutil

from dateutil import parser
d = '2015-04-11 21:23:39+0530'
p = parser.parse(d)

>>>p
datetime.datetime(2015, 4, 11, 21, 23, 39, tzinfo=tzoffset(None, 19800))
>>>p.date()  
datetime.date(2015, 4, 11)
>>>p.time()
datetime.time(21, 23, 39)
>>>p.utcoffset()
datetime.timedelta(0, 19800) #seconds
>>>str(p.utcoffset())
'5:30:00' #UTC offset 
itzMEonTV
  • 19,851
  • 4
  • 39
  • 49