无法将创建日期与当前日期进行比较

时间:2013-05-08 06:48:30

标签: powershell powershell-v2.0 vmware powercli

希望有人可以帮助我。我无法将当前日期与创建文件的日期进行比较。我从每个日期获得的输出与我的代码一起在下面。

创建日期输出:

  

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'
}

2 个答案:

答案 0 :(得分:3)

试试这个:

$x = Get-Date

您可以获取与日期对象关联的所有方法的列表:

$x | gm

您可以按照以下格式设置日期格式:

$x.ToString("yyyyMMdd hh:mm:ss")

所有格式选项均为here。 然后,您可以将日期标准化并轻松比较。

答案 1 :(得分:2)

常见的解决方案是仅与日期部分进行比较(不包括时间部分)。你可以通过比较Date属性(将时间设置为午夜)来做到这一点:

$date.Date

或者通过明确地与短吃字符串进行比较:

$date.ToShortDateString()