格式化日期以便能够减去它们Powershell

格式化日期以便能够减去它们Powershell,powershell,Powershell,我有两个对象存储在一个由.csv文件填充的数组中,我试图达到一个点,从中减去一个 TEST1 System.String TEST1=20170408 Last Use NoteProperty System.String Last Use=2017-04-18 17:46:42 如何将最后一次使用的格式设置为与测试1相同的格式,同时还能相互减法 我试过下面的方法 $dt_last_use =$_."Last Use".Split(' ') |Select -First 1 但我从中得到了这

我有两个对象存储在一个由.csv文件填充的数组中,我试图达到一个点,从中减去一个

TEST1 System.String TEST1=20170408
Last Use NoteProperty System.String Last Use=2017-04-18 17:46:42
如何将最后一次使用的格式设置为与测试1相同的格式,同时还能相互减法

我试过下面的方法

$dt_last_use =$_."Last Use".Split(' ') |Select -First 1
但我从中得到了这个输出

2016-12-29
我的最终目标是能够做到这一点

                    #$dt_last_use =$_."Last Use".Split(' ') |Select -First 1
                    #$today = get-date

                    #$diff = ( $today -$dt_last_use)

感谢您的帮助

根据注释,您只需将上次使用日期转换为
[datetime]
对象即可。对于Test1日期,您需要使用ParseExact方法,该方法允许您定义与文本字符串中的格式相匹配的:

$LastUse = "2017-04-18 17:46:42"
$dt_last_use = [datetime]$datestring

$Test1 = '20170408'
$dt_test1 = [DateTime]::ParseExact($Test1,"yyyyMMdd", $null)

$today = (get-date)

$difflastuse = $today - $dt_last_use
$difftest1 = $today - $dt_test1

显然,将
$LastUse
$Test1
变量调整为
$。“last use”
$。Test1
针对您的情况,以上只是一个完整/可验证的示例。

$dt\u last\u use=[DateTime]$。“last use”Hi PetSerAl这将给我类似“2017年4月20日19:32:46”的输出然后如何将TEST1转换为能够从中减去的值?