iceman
iceman

Reputation: 506

Edit csv column

I have a csv with 3 columns.

Date    Time    Event
12/19/2021  3:00pm  Low
12/19/2021  1:30pm  Low
12/20/2021  3:00pm  Low

I'm trying to subtract 5 hours from each row. How can I keep each object in a datetime format?

$time0 = Import-Csv $Tempdest | Select 'Time'

$timeEst = $time0 | ForEach-Object {
Write-Host $_.
            ([datetime]$_).AddHours(-5)
}

Upvotes: 1

Views: 1337

Answers (1)

Santiago Squarzon
Santiago Squarzon

Reputation: 61103

By looking at the provided screenshot this should work, it would be updating the imported CSV in memory. If it doesn't work it's best if you can share with us the CSV as plain text.

$csv = Import-Csv path/to/csv.csv

$csv | ForEach-Object {
    $date = '{0} {1}' -f $_.Date, $_.Time -as [datetime]
    $date = $date.AddHours(-5)
    $_.Date = $date.ToShortDateString()
    $_.Time = $date.ToShortTimeString()
}

$csv | Format-Table

Upvotes: 2

Related Questions