0

最終的には csv から html に移行したいと考えています。以前にも似たようなことをしたことがありますが、データの準備が整う前に 1 つのステップを完了する必要があります。時間ではなく、経過分で開始時間を取得する必要があります。

データを取り込むと、列の 1 つが次のようにフォーマットされます。

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

そのデータを次のような列に操作したいと思います。

Duration:
38 minutes
70 minutes
108 minutes

[(now)-(the start time)]数分で済みます。

現在の import-csv 行は次のようになります。

import-csv .\mydata.csv -header mID, mDES, mTYPE, mVAL, mSTART, mEFF, mDT, mDTDES | Select mDES, mSTART, @{Name="DT";Expression={ $_.mDT+" - "+$_.mDTDES}}
4

1 に答える 1

1

get-dateコマンドレットを使用して、日付列のテキストを日付オブジェクトに変換します。

その結果を現在の時間から差し引くだけで、timespan オブジェクトが返されます。経過時間だけが必要な場合は、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} }
于 2012-08-09T22:20:43.470 に答える