[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助批处理中按指定格式输出当前日期并计算取上个月第一天?

比如说。我想取当前日期 按如下格式输出
分别为:
2009-03-30
20090330
只取月份:
200903
当月第一天:
2009-03-01
下月第一天:
2009-04-01

请高手赐教!!

开始
运行
cmd
echo %date% %time%
结果贴出来看看

Q: 怎样把CMD窗口里的结果复制出来?
A: 右键单击CMD窗口的标题栏->"属性"->"选项"->勾选"快速编辑模式"->然后在CMD窗口用鼠标左键选中想要拷贝的内容->在选中的内容上单击鼠标右键->粘贴到文本文件中即可
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

什么啊?我说按上面的格式输出

TOP

让你把结果贴出来看看都不行吗?
知道你的情况才好对症下药。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

回复 4楼 的帖子

什么啊?我说按2楼的方法把结果贴出来看看
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

C:\>echo %date% %time%
2009-03-30 星期一 20:46:07.42

我会了。呵呵
echo %date:~0,10%

但是取上个月第一天怎么做呢?

TOP

回复 6楼 的帖子

  1. @echo off
  2. rem set date=2009-03-30 星期一
  3. set ThisYear=%date:~0,4%
  4. set ThisMonth=%date:~5,2%
  5. set ThisDay=%date:~8,2%
  6. call :DateToDays %ThisYear% %ThisMonth% %ThisDay% ThisDays
  7. set /a DstDays=%ThisDays%-1%ThisDay%+100
  8. call :DaysToDate %DstDays% DstYear DstMonth DstDay
  9. echo 上个月第一天:%DstYear%-%DstMonth%-01
  10. pause
  11. goto :eof
  12. :DateToDays %yy% %mm% %dd% days
  13. setlocal ENABLEEXTENSIONS
  14. set yy=%1&set mm=%2&set dd=%3
  15. if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
  16. set /a dd=100%dd%%%100,mm=100%mm%%%100
  17. set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
  18. set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
  19. endlocal&set %4=%j%&goto :EOF
  20. :DaysToDate %days% yy mm dd
  21. setlocal ENABLEEXTENSIONS
  22. set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
  23. 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
  24. set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
  25. (if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
  26. endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :EOF
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表