Cómo Formatear una FechaHora en PowerShell
-
Usa la opción
-format
para formatear una fecha y hora en PowerShell -
Usa
(Get-Date).ToString
para formatear una fecha y hora en PowerShell -
Selecciona entre todos los estilos de formateo de fecha y hora usando
GetDateTimeFormats()
en PowerShell -
Formatea la fecha y la hora para usar en un
HTTP header
en PowerShell -
Usa la opción
UFormat
para formatear una fecha y hora en PowerShell - Conclusión

Get-Date
es un cmdlet en PowerShell, una shell de línea de comandos y un lenguaje de secuencias de comandos basado en tareas construido sobre .NET
. Este cmdlet se utiliza principalmente para recuperar la fecha y hora actuales del sistema donde se está ejecutando PowerShell.
Este tutorial presentará diferentes métodos para formatear una fecha
y hora
en PowerShell. Puedes ver la fecha y hora actuales del sistema usando un cmdlet Get-Date
.
powershellCopyGet-Date
Salida:
La salida anterior es el formato predeterminado para mostrar la fecha
y la hora
. Veremos diferentes ejemplos para mostrar la fecha y la hora en otros formatos posibles.
Usa la opción -format
para formatear una fecha y hora en PowerShell
La opción -Format
en PowerShell es un parámetro que se utiliza principalmente con el cmdlet Get-Date
. Permite a los usuarios especificar un formato personalizado para mostrar la información de fecha y hora.
Esta opción es esencial para scripts y comandos donde la fecha y la hora deben presentarse en un formato específico, ya sea para registro, visualización en la interfaz de usuario o procesamiento de datos.
El siguiente comando muestra la fecha
y la hora
actuales en el formato de Mes-Día-Año
y Hora:Minuto:Segundo
, respectivamente.
powershellCopyGet-Date -Format "MM/dd/yyyy HH:mm:ss"
Inicialmente, se invoca el cmdlet Get-Date
, que es la forma de PowerShell de obtener la fecha y hora del sistema actual.
Después de esto, aplicamos el parámetro -Format
, un aspecto crucial del comando, que dicta cómo se presenta este dato de DateTime
. La cadena "MM/dd/yyyy HH:mm:ss"
dentro del parámetro actúa como un especificador de formato: MM
formatea el mes como un número de dos dígitos, dd
hace lo mismo para el día, yyyy
representa el año en un formato de cuatro dígitos, HH
formatea la hora en un reloj de 24 horas, mm
para minutos y ss
para segundos.
Al ejecutar este comando, instruimos efectivamente a PowerShell para que muestre la fecha y la hora actuales en un formato muy específico, legible para los humanos, atendiendo a convenciones comunes y legibilidad.
Salida:
Cuando deseas formatear solo la fecha (sin hora) utilizando la opción -Format
en el cmdlet Get-Date
de PowerShell, especificarías una cadena de formato que incluya únicamente los componentes de la fecha.
powershellCopyGet-Date -Format "dd/MM/yyyy"
Salida:
Usa (Get-Date).ToString
para formatear una fecha y hora en PowerShell
Una de las formas versátiles de formatear DateTime
es utilizando el método .ToString()
. Este método convierte el objeto DateTime
en una representación en cadena, permitiendo formatos personalizados y una fácil legibilidad.
powershellCopy(Get-Date).ToString("dd/MM/yyyy HH:mm:ss")
En este ejemplo, comenzamos recuperando la fecha y la hora actuales usando Get-Date
. Luego, usamos inmediatamente el método .ToString()
en este objeto.
La cadena de formato "dd/MM/yyyy HH:mm:ss"
instruye a PowerShell para que formatee la fecha con el día y el mes en dos dígitos, seguido de un año de cuatro dígitos, y la hora en horas (formato de 24 horas), minutos y segundos.
Este proceso convierte efectivamente el DateTime
actual en una cadena que representa la fecha y la hora en nuestro formato especificado, haciéndolo más legible y estandarizado.
Salida:
Selecciona entre todos los estilos de formateo de fecha y hora usando GetDateTimeFormats()
en PowerShell
El método GetDateTimeFormats()
se usa para obtener un arreglo de representaciones en cadena de un objeto DateTime
en diferentes formatos.
Para ver todos los formatos de fecha
y hora
, puedes usar el siguiente comando. Muestra un gran arreglo de cadenas de estilos de formateo para la fecha y la hora.
powershellCopy(Get-Date).GetDateTimeFormats()
Salida:
Puedes seleccionar uno de los estilos de formateo de la lista de arreglo con []
. Por ejemplo:
powershellCopy(Get-Date).GetDateTimeFormats()[7]
Aquí, Get-Date
recupera la fecha y la hora actuales como un objeto DateTime
. A continuación, llamamos al método .GetDateTimeFormats()
en este objeto, que produce un arreglo de varios formatos de fecha y hora.
Al usar [7]
, accedemos específicamente al octavo elemento en este arreglo, dado que la indexación comienza en 0. Este elemento corresponde a uno de los formatos de fecha estándar definidos en el marco de trabajo .NET
, influenciado por la configuración regional del sistema.
Salida:
Formatea la fecha y la hora para usar en un HTTP header
en PowerShell
Puedes usar el especificador de formato R
o r
para formatear la fecha y la hora para su uso en un HTTP header
. Muestra la fecha y la hora en formato RFC1123
.
El Formato RFC1123
es un formato de fecha-hora específico derivado del estándar de Internet RFC1123
. Representa las fechas en un formato como Mon, 15 Jun 2009 20:45:30 GMT
.
Este formato es crucial en las comunicaciones web, especialmente en los HTTP headers
, porque asegura que la información de fecha y hora sea entendida de manera consistente a través de diferentes sistemas y ubicaciones.
powershellCopyGet-Date -Format R
Salida:
O
powershellCopy(Get-Date).ToString("R")
Salida:
Tanto Get-Date -Format R
como (Get-Date).ToString("R")
en PowerShell se utilizan para formatear fechas, específicamente al formato de fecha-hora RFC1123
, que es comúnmente utilizado en HTTP headers
y otros estándares web.
Mientras que Get-Date -Format R
proporciona una salida rápida y directa, (Get-Date).ToString("R")
permite manipulaciones adicionales del objeto DateTime
antes de formatearlo.
Usa la opción UFormat
para formatear una fecha y hora en PowerShell
En PowerShell, el método UFormat
es un enfoque menos común pero aún poderoso para formatear objetos DateTime
. Se inspira en el mundo Unix/Linux, donde la función strftime
en el lenguaje C se utiliza ampliamente para formatear la hora.
Este método ofrece un conjunto diferente de especificadores de formato en comparación con las opciones de formateo estándar de .NET DateTime
y puede ser particularmente útil al trabajar en entornos multiplataforma o cuando se requiere un timestamp al estilo Unix específico.
powershellCopy$currentDateTime = Get-Date -UFormat "%d/%m/%Y %H:%M:%S"
$currentDateTime
En este ejemplo, usamos Get-Date
para obtener la fecha y la hora actuales. Al aplicar la opción -UFormat
, especificamos que queremos formatear este DateTime
en un formato al estilo Unix.
La cadena de formato %d/%m/%Y %H:%M:%S
le dice a PowerShell que formatee la fecha como día/mes/año y la hora en un formato de 24 horas con horas, minutos y segundos. La cadena formateada se almacena en $currentDateTime
.
Este método es particularmente útil cuando queremos alinear el formato de fecha-hora con sistemas Unix/Linux o en escenarios de scripting multiplataforma.
Salida:
Conclusión
En este artículo, exploramos varios métodos para formatear la fecha y hora en PowerShell. Comenzando con el cmdlet Get-Date
, mostramos su papel fundamental en la obtención de la fecha y hora actuales del sistema.
Luego examinamos la opción -Format
, una herramienta versátil y esencial para personalizar las visualizaciones de fecha y hora en scripts y tareas de automatización. Nuestra exploración incluyó además el método .ToString()
, que ofrece un enfoque flexible para convertir objetos DateTime en cadenas de formato personalizado, ideal para necesidades de formateo únicas.
Además, discutimos el método GetDateTimeFormats()
, que proporciona una amplia gama de opciones de formateo predefinidas útiles para adherirse a preferencias de formateo estándar o regional. Por último, profundizamos en la opción UFormat
, un método inspirado en sistemas Unix/Linux, beneficioso para scripts que interactúan con tales entornos o requieren timestamps al estilo Unix.