Dos下获取系统时间的代码

  
rem DOS get current time 
rem ======================= 
rem get yyyy/mm/dd 
set mydate=%DATE:~0,10% 
echo %mydate% 
rem ======================= 
rem get yyyy 
set yyyy=%DATE:~0,4% 
echo %yyyy% 
rem ======================= 
rem get mm 
set mm=%DATE:~5,2% 
echo %mm% 
rem ======================= 
rem get dd 
set dd=%DATE:~8,2% 
echo %dd% 
rem ======================= 
rem get yyyy-mm-dd 
set curdate=%yyyy%-%mm%-%dd% 
echo %curdate%


其实bat中获取时间就是利用截取日期字符串的方法

DOS下有字符处理的方法的,总结如下:

在这个日期格式下:”2013-07-22 星期一”, 这个%DATE:~0,10%得到的是2013-07-22
说明:DATE为系统变量,“:”表示开始处理前面的字符串“~0,10”表示从第0个字符开始取10个字符。

输出:

C:Documents and SettingsAdministrator>rem DOS get current time
C:Documents and SettingsAdministrator>rem =======================
C:Documents and SettingsAdministrator>rem get yyyy/mm/dd
C:Documents and SettingsAdministrator>set mydate=2013-07-22
C:Documents and SettingsAdministrator>echo 2013-07-22
2013-07-22
C:Documents and SettingsAdministrator>rem =======================
C:Documents and SettingsAdministrator>rem get yyyy
C:Documents and SettingsAdministrator>set yyyy=2013
C:Documents and SettingsAdministrator>echo 2013
2013
C:Documents and SettingsAdministrator>rem =======================
C:Documents and SettingsAdministrator>rem get mm
C:Documents and SettingsAdministrator>set mm=07
C:Documents and SettingsAdministrator>echo 07
07
C:Documents and SettingsAdministrator>rem =======================
C:Documents and SettingsAdministrator>rem get dd
C:Documents and SettingsAdministrator>set dd=22
C:Documents and SettingsAdministrator>echo 22
22
C:Documents and SettingsAdministrator>rem =======================
C:Documents and SettingsAdministrator>rem get yyyy-mm-dd
C:Documents and SettingsAdministrator>set curdate=2013  -07  -22
C:Documents and SettingsAdministrator>echo 2013  -07  -22
2013  -07  -22
C:Documents and SettingsAdministrator>