读取主机Powershell日期时间

本文关键字:时间 日期 Powershell 主机 读取 | 更新日期: 2023-09-27 18:04:37

我正在尝试在powershell中读取日期和时间,并使用该日期和时间按名称和最后写时间排序。当我输入只有日期的值时,我没有看到任何问题,但当我添加时间时,我一直得到下面的错误。我如何让它工作?

不能比较"05/20/2014 11:42:18"answers" 05/22/2014 10:00:00 "。错误:"无法将值"'05/22/2014 10:00:00'"转换为类型"System.DateTime"。错误:"字符串未被识别为有效的DateTime。"

我的Powershell代码

$datetime= Read-Host "Enter the date time in this format 'mm/dd/yyyy hh:mm:ss'"
if(($datetime -as [DateTime]) -ne $null)
{
  $datetime = [DateTime]::Parse($datetime)
  $datetime
}
else
{
  Write-Host "You did not enter proper date time"
}
$File= Get-ChildItem $FileLocation -Filter *.sql -Recurse | Where-Object {$_.LastWriteTime -gt $datetime} | Sort-Object Name

读取主机Powershell日期时间

Try (get - date $datetime)获取一个PowerShell日期对象。

有两个问题。

第一种情况是,根据错误消息,您在日期时间周围输入带有单引号的日期时间。你不需要这样做。

第二点是,是的,它不是一个有效的日期时间。因此if语句将输出"You did not enter proper date time"

然后继续到$File= Get-Child ....,当然会抛出一个错误,因为日期时间不合适。

你需要做的是把$File= Get-Child ....行放在你的if语句中,这样它只会在日期时间合适的时候执行。