我想导入一个包含我工作时间的 CSV 文件。格式如下:
描述;开始时间;结束时间;持续时间;天
当我导入 CSV 时,每个对象都作为字符串导入。我尝试将 colmn"持续时间"转换为 [时间跨度] 以对本列求和。这行不通。
$import = Import-Csv -Path "C:admintest3tst_tasks_Mai-2019.csv" -Delimiter ";" |
Sort-Object -Top 15
$sort_description = $import | Sort-Object {$_.Description}
$set_dateformat = $sort_description | ForEach-Object {
$_.Duration = [timespan]$_.Duration
}
错误信息:
无法将类型"System.Object[]"的"System.Object[]"值转换为类型"System.TimeSpan">
时间和日期根据文化有许多不同的格式,有许多可能的地方模棱两可......一个字符串并不总是(甚至经常(映射到一个 TimeSpan。 因此,仅仅通过 [timespan]
强制转换字符串是不够的。必须分析字符串。
您可以尝试此操作,但我不确定您是否还需要执行其他操作来创建所需的数据项目,或者使用Parse()
重载来使您更精确地了解预期的格式:
$_.Duration = System.TimeSpan::Parse($_.Duration)