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

Canales RSS

Lo más fresco

  1. Reemplazar selección con JavaScript Nuevo
  2. ¿Esta IP pertenece a esta red? Modificado
  3. Mozilla Firefox Modificado

Sugerencias del chef

Lo más visitado

  1. Fecha y hora
  2. Dar formato a un número
  3. Rotar logs en Windows
  4. Eliminar formato en Excel
  5. Caché del navegador
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 - v2008-03-15
rem


rem Juego de caracteres ISO-8859-1 (Latin 1)

chcp 28591 > 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

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 lunes 21 de mayo de 2012 (03:07:23 +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-2011 by Álvaro G. Vicario (alvaro.es) • Burgos (España) • borrame.com