Powershell 导入CSV查找已过去的分钟数

Powershell 导入CSV查找已过去的分钟数,powershell,Powershell,我希望最终从csv转换成html。我以前也做过类似的事情,但需要在数据准备好之前完成一步。我需要获取开始时间,而不是时间,而是以分钟为单位 当我输入数据时,其中一列的格式如下: mSTART: 2012-08-07 15:58:57.043 2012-08-07 11:00:45.350 2012-08-07 15:54:47.870 2012-08-07 15:44:28.557 import-csv .\mydata.csv -header mID, mDES, mTYPE, mVAL,

我希望最终从csv转换成html。我以前也做过类似的事情,但需要在数据准备好之前完成一步。我需要获取开始时间,而不是时间,而是以分钟为单位

当我输入数据时,其中一列的格式如下:

mSTART:
2012-08-07 15:58:57.043
2012-08-07 11:00:45.350
2012-08-07 15:54:47.870
2012-08-07 15:44:28.557
import-csv .\mydata.csv -header mID, mDES, mTYPE, mVAL, mSTART, mEFF, mDT, mDTDES | Select mDES, mSTART, @{Name="DT";Expression={ $_.mDT+" - "+$_.mDTDES}}
我想把这些数据处理成一列,上面写着

Duration:
38 minutes
70 minutes
108 minutes
它将是
[(现在)-(开始时间)]
,以分钟为单位

我当前的导入csv行如下所示:

mSTART:
2012-08-07 15:58:57.043
2012-08-07 11:00:45.350
2012-08-07 15:54:47.870
2012-08-07 15:44:28.557
import-csv .\mydata.csv -header mID, mDES, mTYPE, mVAL, mSTART, mEFF, mDT, mDTDES | Select mDES, mSTART, @{Name="DT";Expression={ $_.mDT+" - "+$_.mDTDES}}

使用
get date
命令将日期列中的文本转换为日期对象

只需从当前时间中减去该结果,即可返回一个值。如果您只需要经过的分钟数,请调用该对象上的
TotalMinutes
属性

import-csv .\mydata.csv -header mID, mDES, mTYPE, mVAL, mSTART, mEFF, mDT, mDTDES | 
    Select mDES, mSTART, @{Name="DT";Expression={ $_.mDT+" - "+$_.mDTDES}, @{Name="Duration";Expression={ ((get-date) - (get-date $_.mStart)).TotalMinutes} }

我一直尝试使用get date,但无法使其正常工作。我会在早上回去工作的时候试试这个。这有点管用。如果我取出
.minutes
,它会正常工作。它是一天:小时:分钟格式:持续时间2.16:22:18.0439889 2.21:20:29.7749911 2.16:26:27.2559912.16:36:46.5719913 30.21:51:06.7889915169.21:47:58.4969916如果我做
.minutes
,那么它会吐出不正确的字母。持续时间32 30 36 46 057@Ty我的错误。如果要计算经过的总分钟数,则应为TotalMinutes。请看我的编辑。我为没有早点回来而道歉。但这很有效。非常感谢你。