【发布时间】:2018-06-03 18:11:29
【问题描述】:
如何使用 powershell 脚本从导入的 csv 文件中将joined_on 列中的“n”个时间戳从YYYY-MM-DDTHH:MM:SS 更改为DD-MM-YYYY HH:SS,以及如何将结果另存为新的 csv 文件?
【问题讨论】:
标签: javascript powershell csv
如何使用 powershell 脚本从导入的 csv 文件中将joined_on 列中的“n”个时间戳从YYYY-MM-DDTHH:MM:SS 更改为DD-MM-YYYY HH:SS,以及如何将结果另存为新的 csv 文件?
【问题讨论】:
标签: javascript powershell csv
假设您有一个这样的 CSV:
Name,Date,Colour
Alice,1997-05-13T21:50:00,Red
Bob,2001-06-03T10:52:36,Green
Carol,1991-12-21T02:25:45,Blue
您可以根据您的要求在 PowerShell 中使用类似的内容转换 Date 列:
Import-Csv .\Data.csv |
ForEach-Object {
$_.Date = (Get-Date $_.Date).ToString("dd-MM-yyyy HH:ss")
$_
} | Export-Csv .\Data2.csv
这会给出这样的输出(如果您使用 Import-Csv 重新导入):
Name Date Colour
---- ---- ------
Alice 13-05-1997 21:00 Red
Bob 03-06-2001 10:36 Green
Carol 21-12-1991 02:45 Blue
注意:此输出符合您的要求 (DD-MM-YYYY HH:SS),其中包含 hours:seconds。我猜您的意思是hours:minutes,您可以通过将ToString() 模式更改为:
dd-MM-yyyy HH:mm
【讨论】:
将您的列转换为[datetime],然后使用.ToString("dd-MM-yyyy HH:mm")
> ([datetime]"2018-06-03T12:22:23").ToString("dd-MM-yyyy HH:mm")
03-06-2018 12:22
【讨论】: