获取本周的日期

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)
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐