GetDate.cmd

Display the date and time independent of OS Locale, Language or the users chosen date format (Control Panel/Regional).

Method 1 - Calling a VBScript getdate.vbs for Windows XP or greater

@Echo off
For /f %%G in ('cscript /nologo getdate.vbs') do set _dtm=%%G
Set _yyyy=%_dtm:~0,4%
Set _mm=%_dtm:~4,2%
Set _dd=%_dtm:~6,2%
Set _hh=%_dtm:~8,2%
Set _nn=%_dtm:~10,2%
Echo %_yyyy%-%_mm%-%_dd%T%_hh%:%_nn%

Method 2 - Calling WMIC for Windows XP Professional or Vista/Windows 7

@Echo off
:: Check WMIC is available
WMIC.EXE Alias /? >NUL 2>&1 || GOTO s_error

:: Use WMIC to retrieve date and time
FOR /F "skip=1 tokens=1-6" %%G IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
   IF "%%~L"=="" goto s_done
      Set _yyyy=%%L
      Set _mm=00%%J
      Set _dd=00%%G
      Set _hour=00%%H
      SET _minute=00%%I
)
:s_done

:: Pad digits with leading zeros
      Set _mm=%_mm:~-2%
      Set _dd=%_dd:~-2%
      Set _hour=%_hour:~-2%
      Set _minute=%_minute:~-2%

:: Display the date/time in ISO 8601 format:
Set _isodate=%_yyyy%-%_mm%-%_dd% %_hour%:%_minute%
Echo %_isodate%

GOTO:EOF

:s_error
Echo GetDate.cmd
Echo Displays date and time independent of OS Locale, Language or date format.
Echo Requires Windows XP Professional, Vista or Windows 7
Echo.
Echo Returns 6 environment variables containing isodate,Year,Month,Day,hour and minute.
Based on the sorted date code by Rob van der Woude.

Previous versions of this script (for Windows XP) used the DATE command, under Windows 7 this now gives different output strings dependent on the short date format and OS Language.

"I've been on the calendar, but never on time" ~ Marilyn Monroe

Related

datetime.vbs - Get Date, Time and daylight savings (VB Script)
Get UNIX format date - Dave Benham / StackOverflow (WMIC)
Standard date and time notation - YYYY-MM-DD
Date/Time scripts - Rob van der Woude
Date/Time scripts - Ritchie Lawrence


© Copyright SS64.com 1999-2014
Some rights reserved