首页 > 解决方案 > 获取当月每一天的日期值

问题描述

我有这个:

now = datetime.datetime.now()
year = now.year
month = now.month
num_days = calendar.monthrange(year, month)[1]
days = [datetime.date(year, month, day) for day in range(1, num_days + 1)]  # return all the days of the current month

它每天都会像这样返回:

[datetime.date(2021, 8, 1),
datetime.date(2021, 8, 2), 
datetime.date(2021, 8, 3), 
.
.
.
datetime.date(2021, 8, 26), 
datetime.date(2021, 8, 27), 
datetime.date(2021, 8, 28), 
datetime.date(2021, 8, 29), 
datetime.date(2021, 8, 30), 
datetime.date(2021, 8, 31)]

我怎样才能以正常格式获得那几天。

例如:2021-08-01

标签: pythondatedatetime

解决方案


import calendar
import datetime
now = datetime.datetime.now()
year = now.year
month = now.month
num_days = calendar.monthrange(year, month)[1]
days = [datetime.date(year, month, day).strftime("%Y-%m-%d") for day in range(1, num_days + 1)] 
print(days)

使用 strftime 函数将 datetime 对象转换为指定格式的字符串


推荐阅读