Datum in ISO formaat vanaf command promptDate in ISO format using commandprompt

Wanneer je in een batch bestand een geformateerde datum nodig hebt, dat kan je hiervoor de variabele %date% gebruiken. Als je weet wat de ingestelde regionale instellingen zijn kan je met onderstaande voorbeeld uit de voeten:

cmd> echo %date%
vr 30-11-2012
cmd> echo %date:~9,4%%date:~6,2%%date:~3,2%
20121130

Maar als je een script wil maken die kan werken op verschillende talen en regio’s dan kan je kiezen voor het commanda ‘wmic‘.

cmd> wmic os get LocalDateTime /VALUE
LocalDateTime=20121130134815.220000+060

cmd> for /F “usebackq tokens=1,2 delims==” %i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if ‘.%i.’==’.LocalDateTime.’ set _datetime=%j
cmd> set _date=%_datetime:~0,8%
cmd> set _time=%_datetime:~8,6%
cmd> echo %_date% %_time%
20121130 134815

Op stackoverflow.com worden nog een aantal andere oplossing besproken, maar ik kies voor de WMIC oplossing.Untranslated… Wanneer je in een batch bestand een geformateerde datum nodig hebt, dat kan je hiervoor de variabele %date% gebruiken. Als je weet wat de ingestelde regionale instellingen zijn kan je met onderstaande voorbeeld uit de voeten:

cmd> echo %date%
vr 30-11-2012
cmd> echo %date:~9,4%%date:~6,2%%date:~3,2%
20121130

Maar als je een script wil maken die kan werken op verschillende talen en regio’s dan kan je kiezen voor het commanda ‘wmic‘.

cmd> wmic os get LocalDateTime /VALUE
LocalDateTime=20121130134815.220000+060

cmd> for /F “usebackq tokens=1,2 delims==” %i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if ‘.%i.’==’.LocalDateTime.’ set _datetime=%j
cmd> set _date=%_datetime:~0,8%
cmd> set _time=%_datetime:~8,6%
cmd> echo %_date% %_time%
20121130 134815

Op stackoverflow.com worden nog een aantal andere oplossing besproken, maar ik kies voor de WMIC oplossing.