我正在匯入一個包含 5 個“列”的 CSV。其中之一是日期和時間。正在閱讀此列的第 3 方軟體,則不能很好地對日期進行排序。
IE: (4/8/2022 1:24:08 PM) 將排在上面 (4/13/2022 8:51:52 AM)
即使 4/13 在 4/8 之后,它也不會正確排序。我想用powershell在月份和日期前面添加一個前導零。我確實做了一些搜索,但對我來說似乎沒有任何意義,我不是一個巨大的程式員。
謝謝你的幫助!
這就是我目前正在做的事情。我正在使用 unique 來洗掉重復的行(這是我正在做的事情所需要的)。
$FinalSessions = Import-Csv -Path "C:\Windows\AdminArsenal\UserSessions.csv" | Sort-Object * -Unique
$FinalSessions | Export-Csv -Path "C:\Windows\AdminArsenal\UserSessions.csv" -NoTypeInformation
$FinalSessions
uj5u.com熱心網友回復:
您可以使用 Get-Date 實際獲取日期時間物件,然后重新格式化它。它看起來像這樣:
$FinalSessions = Import-Csv -Path "C:\Windows\AdminArsenal\UserSessions.csv"| Sort-Object * -Unique
$FinalSessions | % { $_.DateColumn = Get-Date $_.DateColumn -Format "MM/dd/yyyy hh:mm:ss tt" }
$FinalSessions | Export-Csv -Path
"C:\Windows\AdminArsenal\UserSessions.csv" -NoTypeInformation
$FinalSessions
只需將“DateColumn”替換為您的列名
uj5u.com熱心網友回復:
假設包含日期時間字串的列被命名Date(根據需要調整):
Import-Csv -Path C:\Windows\AdminArsenal\UserSessions.csv |
ForEach-Object { $_.Date = ([datetime] $_.Date).ToString('s') } |
Sort-Object * -Unique -OutVariable finalSessions |
Export-Csv -Path C:\Windows\AdminArsenal\UserSessions.csv -NoTypeInformation
$finalSessions
請注意,s格式說明符(ISO 8601 格式)用于重新格式化日期時間字串,因為這會產生一個字串,其詞法排序可靠地指示跨年份的時間順序;例如2022-05-05T17:52:47
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/471451.html
