我试图在Windows Powershell中获得天数差异,我正在从一个文本文件中提取一年中的最后一个日期,即. 20171231(yyyyMMdd)
,我已经在本地存储了该文件中的日期。
这里是下面的代码,我正在尝试,但无法得到天的差异,我得到了错误的输出直接减去,如果我转换从文件中提取的字符串,然后减去它与日期类型,即使这样我得到了错误的输出.
$DateStr = (Get-Date).ToString("yyyyMMdd")
$content = Get-Content C:\Users\Date.txt
$diff = $content.ToString();
#Convert it to the date type
$diff = [datetime]::parseexact($diff, 'yyyyMMdd', $null)
#$diff3 = $diff - $DateStr
6条答案
按热度按时间tkclm6bt1#
使用
New-TimeSpan
作为it represents a time interval。类似于这样,roqulrg32#
一个快速、简洁的一行powershell脚本,用于获取当前日期和任何未来日期之间的差异:
j2qf4p5b3#
$DateStr将是一个字符串,所以它不能被解析为日期。您也可以使用new-timespan来获取两个日期之间的差值。
zpf6vheq4#
其他人的回答很好,但我经常使用
Date-Diff
函数(它的功能很强大,开发人员也很熟悉)。请参见下面的示例:**编辑:**显然,PowerShell的新版本将支持.NET 7,在这种情况下,您甚至不需要添加程序集。
高温
vawmfj5a5#
des4xlb06#
如果你转换为日期时间对象,很容易减去它们,然后查看days属性,这也适用于时间。