Загадочная проблема при преобразовании списка дат с использованием даты и времени - PullRequest
0 голосов
/ 13 сентября 2018
import datetime

format = "%m/%d/%y"

qq=['7/8/2018', '6/3/2018', '5/28/2018', '5/20/2018', '5/6/2018', '5/5/2018', '3/25/2018', '3/24/2018', '3/23/2018', '3/11/2018', '3/11/2018']

date0 = datetime.datetime.strptime(qq[1],format).date()

print (date0)

дает много ошибок. Не могу понять, почему

1 Ответ

0 голосов
/ 13 сентября 2018

Формат "% y" предназначен для двухзначных лет. Попробуйте "% Y".

import datetime

format="%m/%d/%Y"

qq=['7/8/2018', '6/3/2018', '5/28/2018', 
    '5/20/2018', '5/6/2018', '5/5/2018', 
    '3/25/2018', '3/24/2018', '3/23/2018', 
    '3/11/2018', '3/11/2018']

date0=datetime.datetime.strptime(qq[1],format).date()

print (date0)

дает мне:

2018-06-03

Что верно для qq [1] (2-й элемент qq)

Строго говоря, цифры даты должны быть дополнены нулями, поэтому qq [1] должно быть «06/03/2016», а не «6/6/2016». Ссылка: https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior. Но, похоже, работает нормально (в Python 3.7.0 для меня).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...