• 获取系统时间的最佳批处理


    使用批处理获取时间时,通常%DATE%来获取,但这个格式是受系统限制, 使用下面的方法获取系统时间就不用考虑格式的变化

     1 @echo off
     2 call :GetLocaldatetime
     3 echo %GetLocaldatetime%
     4 
     5 call :GetUTCTime
     6 echo %GetUTCTime%
     7 
     8 call :GetTimeZone
     9 echo %GetTimeZone%
    10 
    11 exit/b
    12 
    13 :GetLocaldatetime
    14 for /f %%i in ('wmic os get localdatetime ^| find "."') do set dts=%%i
    15 set GetLocaldatetime=%dts:~0,8%_%dts:~8,10%
    16 exit /b
    17 
    18 :GetUTCTime
    19 FOR /F "usebackq tokens=1,2 delims==" %%i IN (`wmic path win32_utctime get /format:list^|find "="`) DO (
    20   if "%%i" EQU "Year" set YY=%%j
    21   if "%%i" EQU "Month" set MM=%%j
    22   if "%%i" EQU "Day" set DD=%%j
    23   if "%%i" EQU "Hour" set HH=%%j
    24   if "%%i" EQU "Minute" set MI=%%j
    25   if "%%i" EQU "Second" set SS=%%j
    26   if "%%i" EQU "DayOfWeek" set DW=%%j
    27 )
    28 if %MM% LSS 10 set MM=0%MM%
    29 if %DD% LSS 10 set DD=0%DD%
    30 if %HH% LSS 10 set HH=0%HH%
    31 if %MI% LSS 10 set MI=0%MI%
    32 if %SS% LSS 10 set SS=0%SS%
    33 
    34 if "%DW%" EQU "1" set DWS=MON
    35 if "%DW%" EQU "2" set DWS=TUE
    36 if "%DW%" EQU "3" set DWS=WED
    37 if "%DW%" EQU "4" set DWS=THU
    38 if "%DW%" EQU "5" set DWS=FRI
    39 if "%DW%" EQU "6" set DWS=SAT
    40 if "%DW%" EQU "7" set DWS=SUN
    41 
    42 set UTCDATE=%YY%%MM%%DD%
    43 set UTCTIME=%HH%%MI%%SS%
    44 set GetUTCTime=%UTCDATE%_%UTCTIME%_%DWS%_UTC0
    45 exit /b
    46 
    47 :GetTimeZone
    48 FOR /F "usebackq tokens=1,2 delims==" %%i IN (`powershell.exe -command Get-TimeZone^|find "DisplayName"^|grep -Eo "UTC.[0-9]{1,2}.[0-9]{1,2}"`) DO (
    49   set GetTimeZone=%%i
    50 )
    51 set GetTimeZone=%GetTimeZone::=.%
    52 exit /b
  • 相关阅读:
    day11课堂小结 函数作用域
    猜年龄函数版day10作业
    函数day10课堂小结
    day07作业
    文件处理day09
    编码day08
    默写
    day07课堂小结
    day06作业
    const与define应用上该怎么取舍
  • 原文地址:https://www.cnblogs.com/nlsoft/p/12298326.html
Copyright © 2020-2023  润新知