我有一个存储在从.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)
感谢您的帮助
答案 0 :(得分:2)
根据评论,您可以将其作为[datetime]
对象强制转换为最后使用日期。对于Test1日期,您需要使用ParseExact方法,该方法允许您定义datetime format based on certain tokens以匹配文本字符串中的格式:
$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
,以上只是一个完整/可验证的示例。