Как преобразовать строку ['2019-06-01T23: 07: 02.000 + 0000'] в объект даты и времени в Python 3 - PullRequest
1 голос
/ 02 июня 2019

Я получаю строки формата даты и времени в следующем формате из объекта JSON и хочу преобразовать его в объект даты и времени в Python, чтобы я мог использовать его в своем коде.

'2019-06-01T23:07:02.000+0000'

КакВы можете видеть, что приведенная выше строка содержит миллисекунды, и я не смог найти для него средство форматирования в strptime.

datetime.strptime(incOpenTime, '%Y-%m-%dT%H:%M:%S.%fZ') #this works only against microseconds

Я могу разобрать строку и передать ее объекту datetime, но я надеюсь на прямой формат strptime.

1 Ответ

3 голосов
/ 02 июня 2019

Вы хотели бы изменить строку форматирования на '%Y-%m-%dT%H:%M:%S.%f%z

In [25]: datetime.strptime('2019-06-01T23:07:02.000+0000','%Y-%m-%dT%H:%M:%S.%f%z')                                                                                           
Out[25]: datetime.datetime(2019, 6, 1, 23, 7, 2, tzinfo=datetime.timezone.utc)

Или вы можете использовать datetutil.parser для того же самого, что не требует от вас предоставлениястрока формата

'2019-06-01T23:07:02.000+0000'
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-d8d1b2eea17c> in <module>
----> 1 from datetutil import parser

ModuleNotFoundError: No module named 'datetutil'

In [2]: from dateutil import parser                                                                                                                                                    
In [4]: parser.parse('2019-06-01T23:07:02.000+0000')                                                                                                                                   
Out[4]: datetime.datetime(2019, 6, 1, 23, 7, 2, tzinfo=tzutc())
...