在写Windows批处理脚本时,常常需要获取系统日期、时间戳记,用作文件名、文件夹名、log等等。
本文介绍了如何获取自订的系统日期、时间戳记。
首先,在Windows中,系统日期由以下参数获得:
%date%
系统时间则由以下参数获得:
%time%
我们在Windows XP中输入以下命令:echo %date%,得到的结果类似以下(输出结果可能因系统日期、时间格式而异):
C:/Documents and Settings/Simon>echo %date%
2008-09-09 星期二
或者
C:/Documents and Settings/Simon>echo %date%
TUE 09/09/2008
为了重整日期格式,我们需要截取返回字串的某几位,并加入我们自订的间隔符。
(为什么要加入自订的间隔符?因为倘若我们的日期格式是上面的第二个例子,就不能直接将日期用作文件夹名,因为含有“/”)
这样书写参数便可以获得参数返回值中,特定的几位:
%date:~x,y%
冒号后的~x,y表示截取date返回值中第x位后的y个字符。在上面的第一个粒子的日期格式下,如果我们输入echo %date:~5,5%,则会得到以下结果(截取到第5位后的5个字符,也就是只取月和日):
C:/Documents and Settings/Simon>echo %date:~5,5%
09-09
如果我们需要加入自订的分隔符,比如想要YYYY--MM--DD的格式,只需要分别取出YYYY, MM, DD再连接起来即可:
C:/Documents and Settings/Simon>echo %date:~0,4%--%date:~5,2%--%date:~8,2%
2008--09--09
对于windows的其他系统参数,同理可以重整出需要的格式。