Невозможно преобразовать значение из даты в дату и время - PullRequest
0 голосов
/ 02 мая 2019

Использование powershell 5.1

У меня есть вызываемая функция, которая возвращает строку, представляющую такую ​​дату, как "22.04.2009, 12:00:00"

function Get-LastLogTime() {
    $lastRunDate =  Get-SQLData  "." "AdHoc" "SELECT TOP 1 o.LogTime FROM dbo.FAQlog o  WHERE o.RecordsSent = 1 ORDER BY o.LogTime DESC" 

    return $lastRunDate
}

Где LogTimeэто обычный тип Datetime SQL, а Get-SQLData - еще одна функция, которая возвращает данные.Если я просто проверяю возвращаемое значение, я получаю что-то вроде этого

LogTime
-------
4/22/2019 12:00:00 AM

Хорошо, отлично, но мне нужно сравнить эту дату с текущей датой.Итак, я делаю что-то вроде этого, но я получаю ошибку в строке, пытаясь преобразовать $testDate в datetime.

# test
$testDate = Get-LastLogTime
([DateTime]$testDate) -lt (Get-Date)

Если я просто делаю простое сравнение в командной строке, это работает, например.

([DateTime]"4/22/2019 12:00:00 AM" ) -lt (Get-Date)

1 Ответ

0 голосов
/ 02 мая 2019

Работает с ([DateTime] "22.04.2009, 12:00:00") Потому что вы применяете DateTime к строке.

Возвращаемое значение Get-LastLogTime, вероятно, не является строкой, и приведение его к Datetime не работает. get-LastLogTime | get-member покажет вам методы, доступные для возвращенного типа данных, например, ToString, и которые можно использовать для сравнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...