【发布时间】:2014-11-05 10:54:03
【问题描述】:
我有一个 csv 文件,其中包含几个日期格式的字段。这是 csv 的标题行以及第一行:
"id","start_time","end_time","station_id","location"
"12617954","31/07/2014 4:38:49 AM","31/07/2014 4:39:19 AM","2","tv","home"
csv 文件有很多条目,我想使用 powershell 将每个日期转换为自定义格式。自定义格式为yyyyMMdd-hh:mm:ss
到目前为止已经尝试过,但没有成功将结果写入 csv 文件。我显然不是专家,但我做错了什么?
$dateformats = [string[]]("dd/MM/yyyy hh:mm:ss tt","dd/MM/yyyy h:mm:ss tt")
$csvfiles = Import-Csv -path "D:\new_creative.csv"
ForEach ($line in $csvfiles) {
$starttime2 = [datetime]::ParseExact($line.start_time, $dateformats, [System.Globalization.CultureInfo]::InvariantCulture,[System.Globalization.DateTimeStyles]::None)
$starttime2.year.ToString() + $starttime2.month.toString().PadLeft(2,"0") + $starttime2.day.toString().PadLeft(2,"0") + "-" + $starttime2.Hour.toString().PadLeft(2,"0") + ":" + $starttime2.Minute.toString().PadLeft(2,"0") + ":" + $starttime2.Second.toString().PadLeft(2,"0")
$starttime = $line.start_time.Replace($starttime,$startime2)
}
$csvfiles | Export-Csv "D:\file2.csv" -Force -Notype
【问题讨论】:
标签: powershell csv