PowerShell: cómo ordenar una matriz de cadenas por fecha
A menudo es posible que desee ordenar una serie de cadenas por fecha en PowerShell.
Puede utilizar la siguiente sintaxis básica para hacerlo:
[DateTime[]]$my_array = @('2024-10-15', '2024-10-22', '2024-08-25', ...)
$my_array | Sort-Object
Este ejemplo en particular ordena las cadenas en la matriz denominada $my_array según la fecha.
Tenga en cuenta que al crear una matriz de fechas, se recomienda utilizar [DateTime[]] para garantizar que las cadenas se reconozcan como fechas.
El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.
Ejemplo: cómo ordenar una matriz de cadenas por fecha en PowerShell
Supongamos que creamos una matriz llamada $my_array que contiene varias cadenas que representan fechas.
Podemos usar el cmdlet Sort-Object con la siguiente sintaxis para ordenar la matriz por fecha:
[DateTime[]]$my_array = @('2024-10-15', '2024-10-22', '2024-08-25', '2024-09-15', '2024-01-14')
$my_array | Sort-ObjectLa siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Observe que esto devuelve cada una de las fechas de la matriz ordenadas desde la fecha más antigua hasta la más nueva.
Si, en cambio, desea ordenar desde la fecha más nueva a la más antigua, puede agregar el operador -Descendente al final de la siguiente manera:
[DateTime[]]$my_array = @('2024-10-15', '2024-10-22', '2024-08-25', '2024-09-15', '2024-01-14')
$my_array | Sort-Object -DescendingLa siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Observe que esto devuelve cada una de las fechas de la matriz ordenadas desde la fecha más nueva hasta la más antigua.
Nota: Puede encontrar la documentación completa para el cmdlet Sort-Object en PowerShell aquí.

