python万年历代码带解释_批处理万年历实现代码(包括农历日期)

这是一个使用Python编写的批处理万年历程序,能够处理多种日期格式输入,包括农历日期计算。程序通过日期提取、格式化、校验,计算农历部分,生肖和干支年,并生成月历。对于阳历日期,还提供了星期计算和2月份的天数调整。
摘要由CSDN通过智能技术生成

核心源码

:: 月历查询工具 最初发表于CN-DOS

:: 原创:foxjl 更新:namejm, qzwqzw,foxjl

:: 计算农历日期部分思路及算法来自"趣味东"

:: 输入的日期格式为:年-月-日(-可以替换为:、/,可以混用)

:: 在日历里面,★=当天

:: 支持多种格式的日期输入:

:: ① 若只输入一个数,则认为是查询当年月份,自动截取后两位数字查询,★标在1日上;

:: ② 若输入两个数,则认为是查询年和月,★标在1日上;

:: ③ 输全的话,★标在指定日期上

:: 关于年份的转换:

:: ① 若年份上输入的数字少于三位,则作如下转换:

:: 50~99判定为19xx

:: 0~49判定为20xx

:: ② 若输入的年份数字超过两位,则截取后四位字符(不足部分在高位补0),

:: 按 ① 的规则计算该年份的日期;

:: 07-08-04 增加针对阳历的生肖及干支年计算;修改错误日期循环提示的BUG.

:: 08-01-13 增加推算农历日期的功能,会有一天左右误差。

@echo off

color 1f

mode con cols=40 lines=20

setlocal enabledelayedexpansion

set str=日一二三四五六七八九

set sdate=%date%

:Main

cls&echo.

:: 日期提取、格式化与校验

for /f "tokens=1,2,3 delims=-/: " %%i in ("%sdate%") do (

(set sy=%%i) && (set sm=%%j) && (set sd=%%k)

)

if not defined sd set sd=1

if not defined sm se

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值