yyyymmddhhmmss now formato create convert cambiar datetime powershell

now - ¿Cómo formatear un DateTime en PowerShell?



powershell get utc date (7)

Puedo formatear el comando Get-Date sin problemas como este:

$date = Get-Date -format "yyyyMMdd"

pero una vez que tengo una fecha en una variable, ¿cómo la formateo? La declaración a continuación

$dateStr = $date -format "yyyMMdd"

devuelve este error:

"Debe proporcionar una expresión de valor en el lado derecho del operador ''-f''"


¿Qué tal si haces esto si necesitas usar la opción -Formato:

$dateStr = (Get-Date $date -Format "yyyMMdd")

sin embargo

$dateStr = $date.toString(''yyyMMdd'')

es probablemente más eficiente ... :)


La pregunta es respondida, pero falta algo más de información:

Variable vs. Cmdlet

Tiene un valor en la variable $Date y el operador -f funciona de esta forma: ''format string'' -f values . Si llama a Get-Date -format "yyyyMMdd" , llama a un cmdlet con algunos parámetros. El valor "yyyyMMdd" es el valor para el Format parámetro (intente con la help Get-Date -param Format ).

-f operador

Hay muchas cadenas de formato, mira al menos en part1 y part2 . Ella usa string.Format(''format string'', values'') . Piénselo como ''format-string'' -f values , porque el operador -f funciona de manera muy similar a la string.Format Método de string.Format (aunque hay algunas diferencias (para obtener más información, consulte la pregunta en Desbordamiento de pila: ¿Cómo funciona exactamente el RHS de PowerShell? -f ¿trabajo del operador? ).


Lo mismo que harías en .NET.

$DateStr = $Date.ToString("yyyyMMdd")

o

$DateStr = ''{0:yyyyMMdd}'' -f $Date


Si llegaste aquí para usar esto en DOS:

powershell -Command (Get-Date).ToString(''yyyy-MM-dd'')


Una cosa que podrías hacer es:

$date.ToString("yyyyMMdd")


Una manera simple y agradable es:

$time = (Get-Date).ToString("yyyy:MM:dd")

o simplemente

(Get-Date).ToString("yyyy:MM:dd")


Una solución muy conveniente, aunque probablemente no demasiado eficiente, es usar la función miembro GetDateTimeFormats() ,

$d = Get-Date $d.GetDateTimeFormats()

Esto produce una gran matriz de cadenas de estilos de formato para el valor de fecha. A continuación, puede elegir uno de los elementos de la matriz a través del operador [] , por ejemplo,

PS C:/> $d.GetDateTimeFormats()[12] Dienstag, 29. November 2016 19.14