追加+1迄今为止在批处理文件 [英] Append +1 to date in batch file

查看:203
本文介绍了追加+1迄今为止在批处理文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有创造今天的日期就好了一个批处理文件。现在我需要更新它显示明天的日期。任何帮助深表AP preciated:

 关闭@echo
设置时间戳= 12:00:00
FOR / F标记= 1 * DELIMS =%% A IN(日期/ T')DO SET CDATE = %%乙FOR / F标记= 1,2 = EOL / DELIMS = /%% A IN(日期/ T')DO SET毫米= %%乙FOR / F令牌= 1,2 = DELIMS / EOL = /%% A IN('回声%CDATE%')DO SET DD = %%乙FOR / F令牌= 2,3 = DELIMS /%% A IN('回声%CDATE%')DO SET YYYY = %%乙设定日期=%YYYY% - %毫米% - %DD%%时间戳%回声%日期%


解决方案

 关闭@echo和放大器; SETLOCAL
SET今天=%日期%
ECHO(今天就是今天%%
CALL:今天%todayNo DateToJDN%
ECHO(这是没有一天%todayNo%
SET / A tomorrowNo = todayNo + 1
ECHO(明天又是一天没%tomorrowNo%
CALL:JDNToDate%tomorrowNo明天%
ECHO(明天是明天%%
GOTO:EOFREM转换日期为儒略日数:DateToJDN DD.MM.YYYY JDN =
SETLOCAL
设定的日期=%1
设置/ A YY =%日期:〜-4%,MM = 1%日期:〜-7,2%%% 100,DD = 1%日期:〜-10,2%%% 100
集/ A一= MM-14,JDN =(1461 *(YY + 4800 + A / 12))/ 4 +(367 *(MM-2-12 *(A / 12)))/ 12-(3 * ((YY + 4900 + A / 12)/ 100))/ 4 + DD-32075
ENDLOCAL&安培;设置%2 =%JDN%
出口/ BREM转换儒略日数回日期:JDNToDate JDN DD.MM.YYYY =
SETLOCAL
集/ A l=%1+68569,n=(4*l)/146097,l=l-(146097*n+3)/4,i=(4000*(l+1))/1461001,l=l-(1461*i)/4+31,j=(80*l)/2447,dd=l-(2447*j)/80,l=j/11,mm=j+2-(12*l),yy=100*(n-49)+i+l
如果DD%LSS%10集DD = 0%DD%
如果%毫米%LSS 10集毫米= 0%毫米%
ENDLOCAL&安培;集%2 =%DD%。%毫米%。%YY%
出口/ BENDLOCAL



今天是2013年8月8日
这一天没有。 2456513
明天又是一天没有。 2456514
明天是2013年9月8日

I have a batch file which creates today's date just fine. Now I need to update it to show tomorrow's date. Any help is much appreciated:

@echo off
set TimeStamp=12:00:00


FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B

FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B

FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B

FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B

SET date="%yyyy%-%mm%-%dd% %TimeStamp%"

echo %date%

解决方案

@echo off &SETLOCAL
SET "today=%date%"
ECHO(today is       %today%
CALL:DateToJDN %today% todayNo
ECHO(this is day no.        %todayNo%
SET /a tomorrowNo=todayNo+1
ECHO(tomorrow is day no.    %tomorrowNo%
CALL:JDNToDate %tomorrowNo% tomorrow
ECHO(tomorrow is        %tomorrow%
GOTO:EOF

rem Convert the date to Julian Day Number

:DateToJDN dd.mm.yyyy jdn=
setlocal
set date=%1
set /A yy=%date:~-4%, mm=1%date:~-7,2% %% 100, dd=1%date:~-10,2% %% 100
set /A a=mm-14, jdn=(1461*(yy+4800+a/12))/4+(367*(mm-2-12*(a/12)))/12-(3*((yy+4900+a/12)/100))/4+dd-32075
endlocal & set %2=%jdn%
exit /B

rem Convert Julian Day Number back to date

:JDNToDate jdn dd.mm.yyyy=
setlocal
set /A l=%1+68569,n=(4*l)/146097,l=l-(146097*n+3)/4,i=(4000*(l+1))/1461001,l=l-(1461*i)/4+31,j=(80*l)/2447,dd=l-(2447*j)/80,l=j/11,mm=j+2-(12*l),yy=100*(n-49)+i+l
if %dd% lss 10 set dd=0%dd%
if %mm% lss 10 set mm=0%mm%
endlocal & set %2=%dd%.%mm%.%yy%
exit /B

endlocal


today is                08.08.2013
this is day no.         2456513
tomorrow is day no.     2456514
tomorrow is             09.08.2013

这篇关于追加+1迄今为止在批处理文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆