N天前日期计算

批处理计算日期的方法

用获取到的年、月、日,进行计算

@echo off
set /a y=%date:~0,4%,m=%date:~5,2%,d=%date:~8,2%
set /a m1=31,m2=28,m3=31,m4=30,m5=31,m6=30,m7=31,m8=31,m9=30,m10=31,m11=30,m12=31
set /a "yp=!(y%%4)&!(!(y%%100))|!(y%%400)"
if %yp% equ 1 set /a m2=29
setlocal enabledelayedexpansion
set/a od=%d%-7
if %od% lss 1 (set /a om=%m%-1
 if !om! equ 0 (set om=12& set /a y=%y%-1)
 for /f "tokens=1,2 delims==" %%i in ('set m^|findstr "m!om!"') do set /a od=%%j%od%
) else set om=%m%
if %od% lss 10 set od=0%od%&if %om% lss 10 set om=0%m%
echo 7天前的日期是:%y%!om!%od%
pause>nul

问题:

  • 只支持一个月以内的日期计算。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,655评论 25 708
  • 我是日记星球267号星宝宝,我正在参加日记星球第十二期21天蜕变之旅,这是我的第102篇原创日记。 早上去上班,快...
    张小姐4134阅读 247评论 6 5
  • 才华配不上野心,并不可怕,大不了拼尽全力,死磕到底。可怕的是你的野心配不上你的才华,辜负了天赋才能,庸碌此生。 不...
    口述笔录阅读 671评论 1 5
  • 2017.7.5星期三,雷阵雨。 佛说:“前世500次的回眸,才换来今世的擦肩而过。”我们級部的十九位老师,...
    王兆双阅读 313评论 0 3
  • 今天的主角是兴业行(音xing2)卡(悠系列),下面简称"行悠白" ,刚性年费900元,但是用对了绝技可以回本。 ...
    剁手吧阅读 819评论 0 0