程序的目的就是输入一个日期,然后算出这个日期所在的那一周的周日是几号。
我大概的写了想,不过好像发现问题是出现后面的日期的加减上。大虾帮我看下是不是哪边要改下,或者是有错误,谢谢!
代码:
@echo off
setlocal enabledelayedexpansion
cls
:main
echo. 请输入需要计算的日期
echo. 格式如:08-07-17表示08年7月17日
set /p input= 请输入:
::获取输入数据,并分离出日期,月,年
set year1=%input:~0,2%
::将年前面加"20"字符为了能让星期计算公式正常计算
set year=20%year1%
set month=%input:~3,2%
set day=%input:~6,2%
::获得当天的日期
set tdy=%date:~4,12%
::计算输入的日期是星期几
set /a w=(day+2*month+3*(month+1)/5+year+year/4-year/100+year/400+1)%%7
::计算输入的日期所在周的周末的日期
set /a cw=7-w
::将输入的数据整理成日期格式
set inputday=%year%-%month%-%day%
::计算输入日期所在周的周日的日期
set /a outputday=inputday+cw
echo. 您输入的日期所在周的周日是:%outputday%
pause
goto main
我大概的写了想,不过好像发现问题是出现后面的日期的加减上。大虾帮我看下是不是哪边要改下,或者是有错误,谢谢!
代码:
@echo off
setlocal enabledelayedexpansion
cls
:main
echo. 请输入需要计算的日期
echo. 格式如:08-07-17表示08年7月17日
set /p input= 请输入:
::获取输入数据,并分离出日期,月,年
set year1=%input:~0,2%
::将年前面加"20"字符为了能让星期计算公式正常计算
set year=20%year1%
set month=%input:~3,2%
set day=%input:~6,2%
::获得当天的日期
set tdy=%date:~4,12%
::计算输入的日期是星期几
set /a w=(day+2*month+3*(month+1)/5+year+year/4-year/100+year/400+1)%%7
::计算输入的日期所在周的周末的日期
set /a cw=7-w
::将输入的数据整理成日期格式
set inputday=%year%-%month%-%day%
::计算输入日期所在周的周日的日期
set /a outputday=inputday+cw
echo. 您输入的日期所在周的周日是:%outputday%
pause
goto main

