希望有人可以帮助我。我无法将当前日期与创建文件的日期进行比较。我从每个日期获得的输出与我的代码一起在下面。
创建日期输出:
21/05/2012 10:27:25 PM
当前日期输出:
8/05/2013 12:00:00 AM
是否可以比较这些日期?
我的代码如下:
$host = Read-Host 'Host: '
$username = Read-Host 'Username: '
$password = Read-Host 'Password: '
Connect-VIServer -Server $host -User $username -Password $password
$snapshotDate = Get-Snapshot -VM CONVCORPSPOINT | Select-Object Created | Format-Table -HideTableHeaders
$currentDate = Get-Date | Select-Object Date | Format-Table -HideTableHeaders
$snapshotDate
$currentDate
if ($snapshotDate -lt $currentDate) {
Write-Host 'The snapshot date is earlier than the current date'
}
else {
Write-Host 'The snapshot date is not earlier than the current date'
}
答案 0 :(得分:3)
试试这个:
$x = Get-Date
您可以获取与日期对象关联的所有方法的列表:
$x | gm
您可以按照以下格式设置日期格式:
$x.ToString("yyyyMMdd hh:mm:ss")
所有格式选项均为here。 然后,您可以将日期标准化并轻松比较。
答案 1 :(得分:2)
常见的解决方案是仅与日期部分进行比较(不包括时间部分)。你可以通过比较Date属性(将时间设置为午夜)来做到这一点:
$date.Date
或者通过明确地与短吃字符串进行比较:
$date.ToShortDateString()