You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python calendar模块在指定日期插入对勾标记

Python calendar模块指定日期添加对勾标记实现方案

默认的calendar.month()方法会直接返回格式化好的整月日历字符串,无法直接插入自定义标记,我们可以通过拆分日历行、匹配目标日期后追加标记的方式实现需求,可直接运行的代码如下:

import calendar

def marked_month_calendar(year, month, mark_dates):
    # 拆分原生日历为逐行文本
    cal_lines = calendar.month(year, month).splitlines()
    # 前两行为年月标题、星期表头,无需修改直接保留
    processed_lines = cal_lines[:2]
    # 逐行处理日期内容
    for line in cal_lines[2:]:
        date_parts = line.split()
        # 匹配需要标记的日期
        for target_date in mark_dates:
            target_str = str(target_date)
            if target_str in date_parts:
                pos = date_parts.index(target_str)
                date_parts[pos] = f"{target_date}✓"
        # 按原生日历的对齐规则重新拼接行
        processed_line = "".join(f"{part:<4}" for part in date_parts)
        processed_lines.append(processed_line)
    return "\n".join(processed_lines)

# 示例调用
yy = 2021
mm = 10
# 填入所有需要添加对勾的日期
mark_list = [4, 15, 21, 28]
print(marked_month_calendar(yy, mm, mark_list))

使用说明

  • 修改mark_list列表的值即可自定义所有需要标记的日期
  • 代码默认适配了原生calendar的输出对齐规则,不会出现排版错乱问题
  • 可自行替换代码中的✓为其他需要的标记符号

内容的提问来源于stack exchange,提问作者TFAM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:06:07