python --获取本周/本月的日期/获取当前日期前每个周一的日期
这段代码与之前的代码相似,只是在获取本月最后一天的日期时,使用了下个月的第一天减去一天的方式来获取。最后,打印出第一天和最后一天的日期。请注意,这段代码同样假设你使用的是Python 3,并且已经导入了datetime模块。你可以使用Python的datetime模块来生成本月的日期区间。请注意,这段代码假设你使用的是Python 3,并且已经导入了datetime模块。接下来,使用条件语句判断当
·
获取本周的日期
import datetime
from datetime import timedelta
def get_current_week():
fmt = lambda x: datetime.datetime.strftime(x, "%Y-%m-%d")
today = datetime.date.today()
monday = today - timedelta(days=today.weekday())
return [fmt(monday + timedelta(days=i)) for i in range(7)]
print(get_current_week())
本周日期 本周星期 且今日之前的至为fasle
import datetime
def week_of_month() -> list:
results = []
week_day = {'Monday': '一', 'Tuesday': '二', 'Wednesday': '三', 'Thursday': '四', 'Friday': '五', 'Saturday': '六', 'Sunday': '日'}
today = datetime.date.today()
start_of_week = today - datetime.timedelta(days=today.weekday())
for i in range(7):
date = start_of_week + datetime.timedelta(days=i)
results.append({
'date_info': date.strftime('%Y-%m-%d'),
'date': date.strftime('%m.%d'),
'week': week_day.get(date.strftime("%A")),
'status': not date < today
})
return results
print(week_of_month())
获取30天前的所有日期(含今日)
from datetime import datetime, timedelta
# 获取今天的日期
today = datetime.now().date()
# 输出今日及前30天的日期
for i in range(31):
date = today - timedelta(days=i)
print(date)
获取本月的所有日期
你可以使用Python的datetime模块来生成本月的日期区间。下面是一个示例代码:
import datetime
# 获取当前日期
today = datetime.date.today()
# 获取本月第一天的日期
first_day = today.replace(day=1)
# 获取下个月第一天的日期
if today.month == 12:
next_month = today.replace(year=today.year + 1, month=1, day=1)
else:
next_month = today.replace(month=today.month + 1, day=1)
# 生成本月的日期区间
date_range = []
current_day = first_day
while current_day < next_month:
date_range.append(current_day)
current_day += datetime.timedelta(days=1)
# 打印日期区间
for date in date_range:
print(date)
这段代码首先获取当前日期,然后使用replace()
方法将日期设置为本月的第一天。接下来,使用条件语句判断当前月份,如果是12月
,则下个月为明年的1月,否则为当前月份加1。然后,使用循环和timedelta()
方法逐天增加日期,直到达到下个月的第一天。最后,
打印出生成的日期区间。
请注意,这段代码假设你使用的是Python 3,并且已经导入了datetime模块。
获取本月的日期区间
如果你只需要本月的第一天和最后一天的日期,可以使用以下代码:
import datetime
# 获取当前日期
today = datetime.date.today()
# 获取本月第一天的日期
first_day = today.replace(day=1)
# 获取下个月第一天的日期
if today.month == 12:
next_month = today.replace(year=today.year + 1, month=1, day=1)
else:
next_month = today.replace(month=today.month + 1, day=1)
# 获取本月最后一天的日期
last_day = next_month - datetime.timedelta(days=1)
# 打印第一天和最后一天的日期
print("本月第一天的日期:", first_day)
print("本月最后一天的日期:", last_day)
这段代码与之前的代码相似,只是在获取本月最后一天的日期时,使用了下个月的第一天减去一天的方式来获取。最后,打印出第一天和最后一天的日期。
请注意,这段代码同样假设你使用的是Python 3,并且已经导入了datetime模块。
获取当前日期前50个周一的日期
from datetime import datetime, timedelta
def get_mondays_before_weeks(weeks_back):
"""
获取当前日期前的指定周数的每个周一的日期,包括本周的周一。
:param weeks_back: 要向前推的周数
:return: 包含每个周一日期的列表
"""
# 获取当前日期
current_date = datetime.now()
# 找到本周的周一
days_to_this_monday = (current_date.weekday() - 0) % 7
this_monday = current_date - timedelta(days=days_to_this_monday)
# 存储每个周一的日期
mondays = []
for i in range(weeks_back):
monday_date = this_monday - timedelta(weeks=i)
mondays.append(monday_date.strftime('%Y-%m-%d'))
return mondays
# 调用函数并打印结果
mondays_list = get_mondays_before_weeks(50)
for monday in mondays_list:
print(monday)
更多推荐
已为社区贡献15条内容
所有评论(0)