Как найти список 7 последовательных дней прошлого месяца в питоне - PullRequest
0 голосов
/ 09 мая 2019

Я хочу написать программу на Python, чтобы найти список 7 последовательных дней прошлого месяца в Python, например, если сегодня 2019-5-9, то мой вывод должен быть списком дат с 2019-4-8 по 2019-4-2 и для этого я использовал datetime модуль Python.Я написал программу, как показано ниже, но я не хочу вывод в формате datetime.date () вместо 2019-4-8.Подскажите, пожалуйста, как это сделать.Кроме того, дайте предложения по другой, менее сложной по времени и простому коду.

from datetime import date, timedelta

current_date=date.today()
current_year=date.today().year
current_day=date.today().day-1
month_before=date.today().month-1
date_before=current_date.replace(current_year,month_before,current_day)
month_list=[date_before]
print(month_list)
for i in range(1,7):
    month_list.append(date_before-timedelta(days=i))
print (month_list)  

вывод равен

[datetime.date(2019, 4, 8)]
[datetime.date(2019, 4, 8), datetime.date(2019, 4, 7), datetime.date(2019, 4, 6), datetime.date(2019, 4, 5), datetime.date(2019, 4, 4), datetime.date(2019, 4, 3), datetime.date(2019, 4, 2)]

1 Ответ

0 голосов
/ 09 мая 2019

Вы можете отформатировать дату, используя strftime

from datetime import date, timedelta

current_date=date.today()
current_year=date.today().year
current_day=date.today().day-1
month_before=date.today().month-1
date_before=current_date.replace(current_year,month_before,current_day)
month_list=[date_before]
print(month_list)
month_list=[(date_before-timedelta(days=i)).strftime("%Y-%m-%d") for i in range(7)]
print(month_list)

ИЛИ вы можете использовать панды date_range и dateoffset.

import pandas as pd
date_list =  sorted(pd.date_range(pd.datetime.today() 
                                 - pd.DateOffset(months=1) 
                                 - pd.DateOffset(days=7) , 
                                  periods=7).tolist(), reverse=True)
print([dt.strftime("%Y-%m-%d") for dt in date_list])

Результат:

['2019-04-08', '2019-04-07', '2019-04-06', '2019-04-05', '2019-04-04', '2019-04-03', '2019-04-02']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...