你的位置:首页 > 软件开发 > 操作系统 > cmd提取时间格式(小时)问题

cmd提取时间格式(小时)问题

发布时间:2018-10-24 02:00:43
你在这里看到了我的现在的时间是01:15,没错正在做个开发,本来好好的,结果一运行,直接报错:这里就是时间中的获取小时出了问题,之前23点那会已经调试通过了,过那时是没有问题的,那么这时发生了什么?为何中间会多了一个空格?在系统cmd中提取时间:可以看到小时前面还是有空格,那么是 ...

 

 cmd提取时间格式(小时)问题cmd提取时间格式(小时)问题

你在这里看到了我的现在的时间是01:15,没错正在做个开发,本来好好的,结果一运行,直接报错:

cmd提取时间格式(小时)问题

这里就是时间中的获取小时出了问题,之前23点那会已经调试通过了,过那时是没有问题的,那么这时发生了什么?为何中间会多了一个空格?

在系统cmd中提取时间:

cmd提取时间格式(小时)问题

可以看到小时前面还是有空格,那么是编码问题chcp 65001 改到 chcp 936 一样还是。

最后,想到可能这里的时间是个位数?试试

for /l %i in (0,1,9) do ( if %time:~0,2%==%i echo 0%i )01

cmd提取时间格式(小时)问题

 果然这样就对了

 

 

cmd时间格式参考:

参考:原文:https://blog.csdn.net/jinhoward/article/details/20213213 

比如在windowscmd命令行窗口执行date命令后这个环境变量的值为

cmd提取时间格式(小时)问题

那么如下的各个操作的意义如下:
%date:~0,4%  表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取4位字符,结果是2014(年的值)
%date:~5,2%  表示指针从左向右偏移5位,然后从偏移处开始提取2位字符,结果是03(月的值)
%date:~8,2%  表示指针从左向右偏移8位,然后从偏移处开始提取2位字符,结果是01(日的值)
%date:~5%    表示指针从左向右偏移5位,然后提取所有的值
%date:~-5%   表示指针反方向偏移,从最右端开始,偏移5位,然后从指针处提取左边的所有数值。
注意:“2014-03-01 星期六”是个字符串,在计算机里指针是从0开始计数的,所以这串字符的指针意义上的第5位是0,月份的0,取两位刚好是03.

同理,比如当前系统的time变量的值如下:

 cmd提取时间格式(小时)问题cmd提取时间格式(小时)问题

那么如下的各个操作的意义如下:
%time:~0,2%  表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取2位字符,结果是小时字段数值
%time:~3,2%  表示指针从左向右偏移3位,然后从偏移处开始提取2位字符,结果是分钟字段数值
%time:~6,2%  表示指针从左向右偏移6位,然后从偏移处开始提取2位字符,结果是秒字段数值
实战操作:                                                                                                                       
md d:\%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%

 

原标题:cmd提取时间格式(小时)问题

关键词:时间

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。