标题: [日期时间] 【已解决】批处理如何计算两个指定日期之间相差的天数? [打印本页]
作者: solan 时间: 2016-9-17 23:14 标题: 【已解决】批处理如何计算两个指定日期之间相差的天数?
本帖最后由 solan 于 2016-9-20 13:55 编辑
请教时间比较的问题
我在安装了某个程序后会在本地产生一个包含当时日期的txt文件,我想在每次手动执行某个批处理时,把当前的日期跟那个txt文件所指定的日期进行比较,如果快3个月了就执行某个命令,没到3个月的话执行第二个命令;如果电脑时间被修改成安装程序之前的日期,就执行另外的命令。
请问:这样的批处理怎么写?
安装程序时为了让当初的时间写到txt文件里,需要另外一个批处理,这个我会 echo %date%>time.txt,但是时间以怎么样的格式为好我就不知道了。
作者: pcl_test 时间: 2016-9-17 23:55
- powershell -c "((Get-Date)-(Get-Date 2016/9/01)).Days"&pause
复制代码
作者: solan 时间: 2016-9-18 08:05
本帖最后由 solan 于 2016-9-18 08:07 编辑
回复 2# pcl_test
老大,这个安装时的日期是不固定的,我该怎么读取那个time.txt文件里面的日期呢?
老大,我一开始已经搜索查看了论坛关于时间的所有帖子了,没有找到我想要的资料,所以才求助的,不过我接受老大批评
作者: solan 时间: 2016-9-18 08:50
我知道怎么做了,多谢老大
作者: ygqiang 时间: 2016-9-18 11:10
回复 4# solan
给出代码吧?如何解决的?
作者: pcl_test 时间: 2016-9-18 12:14
回复 3# solan
嗯,“搜索查看了论坛关于时间的所有帖子了”这肯定不是真的,至于为什么“没有找到我想要的资料”,原因不外乎:1、搜索的关键字不适当 2、思路不对 3、没有深入搜索和测试已有的代码 4、因为很少学习甚至从不学习,不会变通、举一反三 5、发帖得结果最直接省事。要了解并深信一件实事,那就是你不是在论坛上提相同或类似的问题的第一个人。
http://www.bathome.net/viewthread.php?tid=34787
http://www.bathome.net/viewthread.php?tid=3330
http://www.bathome.net/viewthread.php?tid=3334
http://www.bathome.net/viewthread.php?tid=874
http://www.bathome.net/viewthread.php?tid=6586
http://www.bathome.net/viewthread.php?tid=39338
作者: solan 时间: 2016-9-18 18:11
回复 6# pcl_test
好的,老大说得是,谢谢你的指点
作者: CrLf 时间: 2016-9-18 20:40
回复 6# pcl_test
补个链接:
http://www.bathome.net/viewthread.php?tid=16147
作者: happy886rr 时间: 2016-9-18 23:13
回复 7# solan
第三方,i工具计算日期间隔复制代码
作者: solan 时间: 2016-9-20 12:56
回复 2# pcl_test
这个代码能够把天数打印在屏幕上,那这么提取呢?- @echo off
- for /f %%a in (time.txt) do (set k=%%a)
- echo,%k%
-
- set d=powershell -c "((Get-Date)-(Get-Date %k%)).Days"
- echo,%d%
- pause
复制代码
我这样写还是提取不了,执行结果:
2016/09/18
powershell -c "((Get-Date)-(Get-Date 2016/09/18)).Days"
请按任意键继续. . .
作者: pcl_test 时间: 2016-9-20 13:28
回复 10# solan
发帖前先使用论坛搜索
http://www.bathome.net/thread-2189-1-1.html
http://www.bathome.net/viewthread.php?tid=38647
http://www.bathome.net/viewthread.php?tid=39067
http://www.bathome.net/viewthread.php?tid=38346
作者: solan 时间: 2016-9-20 13:52
for命令上半年白学了,居然没想到
for /f %%a in (time.txt) do (set k=%%a)
echo,%k%
for /f "delims=" %%i in ('powershell -c "((Get-Date)-(Get-Date %k%)).Days"') do (set d=%%i)
echo,%d%
pause
结果如下:
C:\Users\solan\Desktop>for /F %a in (time.txt) do (set k=%a )
C:\Users\solan\Desktop>(set k=2016/09/18 )
C:\Users\solan\Desktop>echo,2016/09/18
2016/09/18
C:\Users\solan\Desktop>for /F "delims=" %i in ('powershell -c "((Get-Date)-(Get-Date 2016/09/18)).Days"') do (set d=%i )
C:\Users\solan\Desktop>(set d=2 )
C:\Users\solan\Desktop>echo,2
2
C:\Users\solan\Desktop>pause
请按任意键继续. . .
非常感谢老大不厌其烦的教导
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |