Показать список дат в правильном формате - PullRequest
0 голосов
/ 09 марта 2020

Я запускаю этот код, чтобы получить дату

from datetime import timedelta, date

def daterange(start_date, end_date):
    for n in range(int(start_date.day), int((end_date - start_date).days), 90):
        yield start_date + timedelta(n)

start_date = date(2016, 1, 1)
end_date = date.today()
for single_date in daterange(start_date, end_date):
    x = list(single_date.strftime("%Y-%m-%d"))
    print(x)

, и он дает мне этот вывод

['2', '0', '1', '6', '-', '0', '1', '-', '0', '2']
['2', '0', '1', '6', '-', '0', '4', '-', '0', '1']
['2', '0', '1', '6', '-', '0', '6', '-', '3', '0']
['2', '0', '1', '6', '-', '0', '9', '-', '2', '8']
['2', '0', '1', '6', '-', '1', '2', '-', '2', '7']
['2', '0', '1', '7', '-', '0', '3', '-', '2', '7']
['2', '0', '1', '7', '-', '0', '6', '-', '2', '5']
['2', '0', '1', '7', '-', '0', '9', '-', '2', '3']
['2', '0', '1', '7', '-', '1', '2', '-', '2', '2']
['2', '0', '1', '8', '-', '0', '3', '-', '2', '2']
['2', '0', '1', '8', '-', '0', '6', '-', '2', '0']
['2', '0', '1', '8', '-', '0', '9', '-', '1', '8']
['2', '0', '1', '8', '-', '1', '2', '-', '1', '7']
['2', '0', '1', '9', '-', '0', '3', '-', '1', '7']
['2', '0', '1', '9', '-', '0', '6', '-', '1', '5']
['2', '0', '1', '9', '-', '0', '9', '-', '1', '3']
['2', '0', '1', '9', '-', '1', '2', '-', '1', '2']

Process finished with exit code 0

Однако я хочу, чтобы список отображался в дате в нужную дату формат, что-то вроде этого [2019-12-12, 2019-09-13, ...]

Моя цель - создать список дат, которые я буду использовать в Gmail для поиска писем. Поэтому он должен быть в формате, понятном Gmail. Мой текущий уровень кодирования / python находится на начальном уровне, так что это может быть очень простое решение, которое я в настоящее время упускаю. Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 09 марта 2020

Почему вы составили список персонажей? Все, что вам нужно, это форматирование, которое вы уже сделали правильно:

print(single_date.strftime("%Y-%m-%d"))
0 голосов
/ 09 марта 2020

Вы можете использовать понимание списка:

x = [sd.strftime("%Y-%m-%d") for sd in daterange(start_date, end_date)]
print(x)

вывод:

['2016-01-02', '2016-04-01', '2016-06-30', '2016-09-28', '2016-12-27', '2017-03-27', '2017-06-25', '2017-09-23', '2017-12-22', '2018-03-22', '2018-06-20', '2018-09-18', '2018-12-17', '2019-03-17', '2019-06-15', '2019-09-13', '2019-12-12']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...