PowerShell中的日期/时间条件 - SharePoint - LastItemModifiedDate - LastRunTime

时间:2015-04-09 11:13:54

标签: date datetime powershell sharepoint

我制作了一个从系统中收集两个日期的脚本。一个来自上次运行调度任务的时间和上次修改列表的日期。问题是日期时间格式不正确。

  1. 来自SPList的LastItemModifiedDate - 输出格式04/09/2015 12:48:48
  2. 来自调度任务的LastRunTime - 输出格式09.04.2015 10:50:03
  3. 我想要做的是检查自上次调度任务运行以来列表是否已更改。

    $scheduledTask = Get-ScheduledTask -TaskName "SharePoint scheduling" | Get-ScheduledTaskInfo
    $scheduledTaskLastRunTime = $scheduledTask.LastRunTime
    
    $listExist = $spSourceWeb.Lists | where{$_.Title -eq $listName}
        if($listExist)
        {
            $spSourceList = $spSourceWeb.Lists[$listName]
    
            if ($scheduledTaskLastRunTime -le $spSourceList.LastItemModifiedDate)
            {
                Write-Host " Changes found" -ForegroundColor Green
                SetListColumnToCopy($listName)
            }
    

    我的IF是否正确?检查日期时间我需要做些什么? 我已经读到了#34;不需要特殊格式来比较Powershell中的日期"但在这种情况下是真的吗?

1 个答案:

答案 0 :(得分:2)

您应该使用DateTime类中的ParseExact静态方法。

$dateToCompare = [datetime]::ParseExact("09.04.2015 10:50:03","MM.dd.yyyy hh:mm:ss", $null)