borrame.com - Colección particular de recortes de código y documentación para programación web

Canales RSS

Lo más fresco

  1. Bookmarklets Nuevo
  2. Recetario básico para CakePHP/2 Nuevo
  3. Certificado auto-firmado Nuevo

Sugerencias del chef

Lo más visitado

  1. Fecha y hora
  2. Dar formato a un número
  3. Reiniciar secuencia
  4. Vaciar un esquema
  5. Certificado auto-firmado
Compartir esta página

Fecha y hora

En nuestros archivos *.bat caseros hay veces que necesitamos guardar la fecha en un log o dar un nombre a una copia de seguridad en plan mysql_2008-02-29_18-30-59.sql. La buena noticia es que se puede hacer sin tener que aprender Perl. (La mala es que hay aprender Windows Batch, lenguaje emparentado con el japonés antiguo...).

@echo off rem rem Ejemplo de manejo de la fecha y hora actual - v2014-02-05 rem chcp 1252 > NUL setlocal set FECHA_ACTUAL=%DATE% set HORA_ACTUAL=%TIME% set ANO=%FECHA_ACTUAL:~6,4% set MES=%FECHA_ACTUAL:~3,2% set DIA=%FECHA_ACTUAL:~0,2% set HORA=%HORA_ACTUAL:~0,2% set MINUTOS=%HORA_ACTUAL:~3,2% set SEGUNDOS=%HORA_ACTUAL:~6,2% set CENTESIMAS=%HORA_ACTUAL:~9,2% rem Si la hora tiene un sólo dígito, reemplazamos el espacio inicial por cero set HORA=%HORA: =% if %HORA% LSS 10 set HORA=0%HORA% echo Fecha: %FECHA_ACTUAL% echo Hora: %HORA_ACTUAL% echo. echo Día: %DIA% echo Mes: %MES% echo Año: %ANO% echo. echo Hora: %HORA% echo Minutos: %MINUTOS% echo Segundos: %SEGUNDOS% echo Centésimas: %CENTESIMAS% echo. echo Ejemplo de nombre de archivo: %APPDATA%\Foo\bar %ANO%-%MES%-%DIA%.log echo Ejemplo de línea para log: [%ANO%-%MES%-%DIA% %HORA%:%MINUTOS%:%SEGUNDOS%] Error: se ha caído la junta de la trócola endlocal echo. pause

Nota importante: desgraciadamente, el formato de la fecha cambia según la configuración regional de Windows. Este script funciona correctamente con el formato de España pero no con, por ejemplo, el de EE.UU. Si necesitas desesperadamente un script universal te recomiendo la excelente página Date and Time using NT's DATE/T and TIME/T and XP's WMIC.

Historial

v2014-02-05
Dar un parámetro más sensato a chcp. ¿Quién escribe archivos *.bat en ISO-8859-1?
v2008-03-15
Corregida una errata al mostrar la hora.
Mejorada la extración de la hora cuando tiene un sólo dígito.
v2008-02-28
Primera versión.

Esta página ha sido impresa el sábado 23 de septiembre de 2017 (02:22:02 +0200) desde http://borrame.com/recortes/batch/fecha-y-hora.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.

borrame.com es el sitio anteriormente conocido como bits.demogracia.com (no confundir con Demogracia, que sólo pasaba por ahí).

© 2005-2017 by Álvaro González (alvaro.es) • Burgos (España) • borrame.com