核心源码
:: 月历查询工具 最初发表于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