神剑山庄资源网 Design By www.hcban.com
于是把我的收集整理后发出来给大家共享一下。
说明:
收集整理: 随风 @bbs.bathome.cn 2008-04-15
第一个代码 作者:Will Sort 出自:cn-dos
第二、三、四、个代码 作者:namejm 出自:cn-dos
第五个为 bat 结合 vbs 代码,作者及出处都不详。
其中第一及第五个代码,输入负数为:追溯指定日期以后的天数。
第二、三、四个代码,未作测试,但输入正整数是可以的。也就是追溯指定日期以前的天数。
代码一、
作者:Will Sort
复制代码 代码如下:
:: DateDel2.bat - 删除指定路径下指定日数以前修改的文件
:: 作者:Will Sort - 2005-9-2 - CMD@WinXP 出自:cn-dos
:: 注意事项:变量 tian 为指定日数,昨天为1,前天为2,依次类推
:: 核心算法:Ritchie Lawrence, updated 2002-08-13. Version 1.1
::
@echo off & setlocal ENABLEEXTENSIONS
call :Date2Day %date:~0,10% sdays
rem 下行的%tian%代表天数.
set /p tian= 请指定要追溯的天数:
set /a sdays-=tian
call :Day2Date %sdays% difdate
echo.&echo.
echo 指定的日期是: %date:~0,10%
echo.
echo %tian% 天前的日期是:%difdate%
echo.&pause
exit
:Date2Day
setlocal ENABLEEXTENSIONS
for /f "tokens=1-3 delims=/-, " %%a in ('echo/%1') do (
set yy=%%a & set mm=%%b & set dd=%%c
)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %2=%j%&goto :EOF
:Day2Date
setlocal ENABLEEXTENSIONS
set /a i=%1,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %2=%yy%-%mm%-%dd%&goto :EOF
代码二、
以下三个代码作者全是 namejm
复制代码 代码如下:
:: 作者: namejm 荣誉版主 出自:cn-dos
@echo off
:: 求N天前的日期
:: 思路:
:: 模拟手工运算,用日期数减去天数,差值为负时向高位借1。
:: 特点:
:: 代码简洁,容易理解,速度快慢取决于指定的天数大小
:: 日期可以带星期,但是,必须以年月日的顺序排列
:: 年份必须是四位,否则会出错
@echo off
:Main
cls
set day=%date%
set days=0
echo.&echo.
echo 指定的日期是:%day%
echo.
set /p input= 请指定要追溯的天数:
setlocal enabledelayedexpansion
:: 提取日期
for /f "tokens=1-3 delims=-/. " %%i in ("%day%") do (
set /a sy=%%i, sm=100%%j %% 100, sd=100%%k %% 100
)
set /a sd-=input
if %sd% leq 0 call :count
cls
echo.&echo.
echo 指定的日期是:%day%
echo.
set sm=0%sm%
set sd=0%sd%
echo %input% 天前的日期是:%sy%-%sm:~-2%-%sd:~-2%
pause>nul
goto Main
:count
set /a sm-=1
if !sm! equ 0 set /a sm=12, sy-=1
call :days
set /a sd+=days
if %sd% leq 0 goto count
goto :eof
:days
:: 获取指定月份的总天数
set /a leap="^!(sy %% 4) & ^!(^!(sy %% 100)) | ^!(sy %% 400)"
set /a max=28+leap
set num=0
set str=31 %max% 31 30 31 30 31 31 30 31 30 31
for %%i in (%str%) do (
set /a num+=1
if %sm% equ !num! set days=%%i&goto :eof
)
goto :eof
123下一页阅读全文
说明:
收集整理: 随风 @bbs.bathome.cn 2008-04-15
第一个代码 作者:Will Sort 出自:cn-dos
第二、三、四、个代码 作者:namejm 出自:cn-dos
第五个为 bat 结合 vbs 代码,作者及出处都不详。
其中第一及第五个代码,输入负数为:追溯指定日期以后的天数。
第二、三、四个代码,未作测试,但输入正整数是可以的。也就是追溯指定日期以前的天数。
代码一、
作者:Will Sort
复制代码 代码如下:
:: DateDel2.bat - 删除指定路径下指定日数以前修改的文件
:: 作者:Will Sort - 2005-9-2 - CMD@WinXP 出自:cn-dos
:: 注意事项:变量 tian 为指定日数,昨天为1,前天为2,依次类推
:: 核心算法:Ritchie Lawrence, updated 2002-08-13. Version 1.1
::
@echo off & setlocal ENABLEEXTENSIONS
call :Date2Day %date:~0,10% sdays
rem 下行的%tian%代表天数.
set /p tian= 请指定要追溯的天数:
set /a sdays-=tian
call :Day2Date %sdays% difdate
echo.&echo.
echo 指定的日期是: %date:~0,10%
echo.
echo %tian% 天前的日期是:%difdate%
echo.&pause
exit
:Date2Day
setlocal ENABLEEXTENSIONS
for /f "tokens=1-3 delims=/-, " %%a in ('echo/%1') do (
set yy=%%a & set mm=%%b & set dd=%%c
)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %2=%j%&goto :EOF
:Day2Date
setlocal ENABLEEXTENSIONS
set /a i=%1,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %2=%yy%-%mm%-%dd%&goto :EOF
代码二、
以下三个代码作者全是 namejm
复制代码 代码如下:
:: 作者: namejm 荣誉版主 出自:cn-dos
@echo off
:: 求N天前的日期
:: 思路:
:: 模拟手工运算,用日期数减去天数,差值为负时向高位借1。
:: 特点:
:: 代码简洁,容易理解,速度快慢取决于指定的天数大小
:: 日期可以带星期,但是,必须以年月日的顺序排列
:: 年份必须是四位,否则会出错
@echo off
:Main
cls
set day=%date%
set days=0
echo.&echo.
echo 指定的日期是:%day%
echo.
set /p input= 请指定要追溯的天数:
setlocal enabledelayedexpansion
:: 提取日期
for /f "tokens=1-3 delims=-/. " %%i in ("%day%") do (
set /a sy=%%i, sm=100%%j %% 100, sd=100%%k %% 100
)
set /a sd-=input
if %sd% leq 0 call :count
cls
echo.&echo.
echo 指定的日期是:%day%
echo.
set sm=0%sm%
set sd=0%sd%
echo %input% 天前的日期是:%sy%-%sm:~-2%-%sd:~-2%
pause>nul
goto Main
:count
set /a sm-=1
if !sm! equ 0 set /a sm=12, sy-=1
call :days
set /a sd+=days
if %sd% leq 0 goto count
goto :eof
:days
:: 获取指定月份的总天数
set /a leap="^!(sy %% 4) & ^!(^!(sy %% 100)) | ^!(sy %% 400)"
set /a max=28+leap
set num=0
set str=31 %max% 31 30 31 30 31 31 30 31 30 31
for %%i in (%str%) do (
set /a num+=1
if %sm% equ !num! set days=%%i&goto :eof
)
goto :eof
123下一页阅读全文
标签:
计算天数,批处理
神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com
暂无5个计算天数的批处理代码第1/3页的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月17日
2024年11月17日
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】