────────── 版主提示 ──────────
完善后的代码请看20楼 qzwqzw 的脚本
────────── 版主提示 ──────────
::算法:基姆拉尔森计算公式
::W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
::在日历里面★=当天
::还没有加入闰年的计算.所以所有的2月都是28天
[ Last edited by bjsh on 2007-7-31 at 02:36 PM ]
完善后的代码请看20楼 qzwqzw 的脚本
────────── 版主提示 ──────────
::算法:基姆拉尔森计算公式
::W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
::在日历里面★=当天
::还没有加入闰年的计算.所以所有的2月都是28天
@echo off& color 27 & mode con cols=40 lines=20 & title 日历,泛滥棏慌°制作.QQ:173459058&&setlocal enabledelayedexpansion
set dated=%date%
:home
cls&echo/
set zdate=%date%
set y=%zdate:~0,4%
set m=%zdate:~5,2%
set d=%date:~8,2%
if %d% geq 32 (echo 错误的日期.&pause>nul&exit)
set d1=01
if "%m%"=="01" (set /a y-=1& set /a m+=12)
if "%m%"=="02" (set /a y-=1& set /a m+=12)
::计算星期公式
set /a w=(%d1%+2*%m%+3*(%m%+1)/5+%y%+%y%/4-%y%/100+%y%/400)%%7+1
set /a ww=(%d%+2*%m%+3*(%m%+1)/5+%y%+%y%/4-%y%/100+%y%/400)%%7+1
set 1=一&set 2=二&set 3=三&set 4=四&set 5=五&set 6=六&set 7=日
if "%date%"=="%dated%" (
echo 这是%date:~0,4%年%date:~5,2%月日历 今天:%dated:~0,4%!-%dated:~5,2%-%dated:~8,2%
) else (
echo 这是%date:~0,4%年%date:~5,2%月日历 ★=当天
echo 你查询的日期是:%date%,星期!%ww%!
)
::还没有加入闰年的计算.所以所有的2月都是28天
set %m%m=31&set %m%m=28&set %m%m=31&set %m%m=30&set %m%m=31&set %m%m=30
set %m%m=31&set %m%m=31&set %m%m=30&set %m%m=31&set %m%m=30&set %m%m=31
set /a cyc=!%m%m!+%w%-1
set n=0
for /l %%i in (0,1,40) do (set w%%i= )
for /l %%i in (%w%,1,%cyc%) do (
set /a n+=1
set w%%i=0!n!
if !n! GEQ 10 set w%%i=!n!
if !n! EQU !d! set w%%i=★
)
echo/
echo 日 一 二 三 四 五 六
echo ━━━━━━━━━━━━━━━━━━━━
echo %w0% %w1% %w2% %w3% %w4% %w5% %w6%
echo.
echo %w7% %w8% %w9% %w10% %w11% %w12% %w13%
echo.
echo %w14% %w15% %w16% %w17% %w18% %w19% %w20%
echo.
echo %w21% %w22% %w23% %w24% %w25% %w26% %w27%
echo.
echo %w28% %w29% %w30% %w31% %w32% %w33% %w34%
echo ━━━━━━━━━━━━━━━━━━━━
echo 输入年月日,可以看当月日历及显示当日星期
set /p date=格式如(2007-02-03)-退出:
if /i "%date%"=="E" exit
goto :home [ Last edited by bjsh on 2007-7-31 at 02:36 PM ]

