我有以下 csv 資料(示例),您可以看到日期為美國格式(MM/dd/yyyy),有時秒數(:ss)丟失。我想修復它,以便日期采用英國格式(dd/MM/yyyy),如果時間中缺少秒數,則添加:00
Time,Incident
03/25/2021 12:59:49,INC18072411
04/03/2021 13:00,INC17989469
05/14/2021 13:01:57,INC17987450
05/28/2021 13:02:56,INC18000995
06/01/2021 13:06,INC17990104
06/06/2021 13:06:23,INC17983804
07/19/2021 13:07,INC17973858
08/08/2021 13:08:04,INC17987287
09/20/2021 13:08:19,INC17986031
10/10/2021 13:13,INC17926602
我已經嘗試過以下
Import-Csv $CsvPath | ForEach-Object { ([datetime]::ParseExact($_.Time,"MM/dd/yyyy HH:mm:ss",$null)).ToString('dd/MM/yyyy H:mm:ss') } | Export-Csv $CsvUpdatedPath -NoTypeInformation
但在缺少秒數的記錄上出現錯誤:
使用“3”引數呼叫“ParseExact”的例外:“字串未被識別為有效的日期時間。”
uj5u.com熱心網友回復:
如果您還指定了更多引數,則可以在多種格式上使用ParseExact :
$formats = 'MM/dd/yyyy HH:mm:ss', 'MM/dd/yyyy HH:mm'
Import-Csv -Path 'D:\Test\theTimes.csv' | ForEach-Object {
$date = [datetime]::ParseExact($_.Time, $formats, [cultureInfo]::InvariantCulture, 'None').ToString('dd\/MM\/yyyy H:mm:ss')
[PsCustomObject]@{
Time = $date
Incident = $_.Incident
}
}
鑒于您的示例資料,這將產生
Time Incident
---- --------
25/03/2021 12:59:49 INC18072411
03/04/2021 13:00:00 INC17989469
14/05/2021 13:01:57 INC17987450
28/05/2021 13:02:56 INC18000995
01/06/2021 13:06:00 INC17990104
06/06/2021 13:06:23 INC17983804
19/07/2021 13:07:00 INC17973858
08/08/2021 13:08:04 INC17987287
20/09/2021 13:08:19 INC17986031
10/10/2021 13:13:00 INC17926602
uj5u.com熱心網友回復:
使用正則運算式,您可以在將輸入字串決議為[DateTime]型別之前添加缺失的秒數。
$InputData = @'
Time,Incident
03/25/2021 12:59:49,INC18072411
04/03/2021 13:00,INC17989469
05/14/2021 13:01:57,INC17987450
05/28/2021 13:02:56,INC18000995
06/01/2021 13:06,INC17990104
06/06/2021 13:06:23,INC17983804
07/19/2021 13:07,INC17973858
08/08/2021 13:08:04,INC17987287
09/20/2021 13:08:19,INC17986031
10/10/2021 13:13,INC17926602
'@ |
ConvertFrom-Csv
$InputData |
ForEach-Object {
$TimeString = $_.Time -replace '(\d{2}\/\d{2}\/\d{4}\s \d{2}:\d{2})$', '$1:00'
[PSCustomObject]@{
Name = ([datetime]::ParseExact($TimeString, "MM/dd/yyyy HH:mm:ss", $null)).ToString('dd/MM/yyyy H:mm:ss')
Incident = $_.Incident
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/521367.html
標籤:电源外壳约会时间
