获取方法差异
获取年月日有可能是这样的:
获取年:yyyy=%date:~,4%
获取月:mm=%date:~5,2%
获取日:day=%date:~8,2%
有可能是这样的:
获取年:%date:~3,4%
获取月:%date:~8,2%
获取日:%date:~11,2%
为什么大家获取年月日的方法不一样?我们自己应该用哪种方式?
如何根据选择
首先%date:~3,4%怎么理解?表示截取%date%字符串,从index为3开始截取,往后截取4位字符。(index为从0开始)
其次,使用下列命令,查看一下windows时间(%date%):
C:\Users\admin>echo %date%
周三 2023/05/24
C:\Users\admin>
如上,我适用于第二种情况。
可以看到时间前面是有星期的,如果不想要星期,可以通过截取实现(从第四位开始即index为3,往后截取10位):
C:\Users\admin>echo %date:~3,10%
2023/05/24
C:\Users\admin>
时间格式yyyy/MM/dd不符合要求怎么办?自定义!
截取年份:%date:~3,4% ---> 2023
截取月份:%date:~8,2% ---> 05
截取日期:%date:~11,2% ---> 24
自定义时间格式为yyyy-MM-dd:%date:~3,4%-%date:~8,2%-%date:~11,2%
看一下结果:
C:\Users\admin>echo %date:~3,4%-%date:~8,2%-%date:~11,2%
2023-05-24
C:\Users\admin>
使用及测试
一个简单的bat:
@echo off
rem 根据当前日期获取,年月日串
set yyyy=%date:~3,4%
set mm=%date:~8,2%
set day=%date:~11,2%
set currentDate=%yyyy%-%mm%-%day%
echo %currentDate%
执行结果:
2023-05-24