我必須在幾秒鐘內得到DateTime和Sysdate之間的差異。New-TimeSpan -Start無法綁定。值爲no DateTime
此代碼運行良好數月。因爲我把它變成一個功能,我發現了錯誤:
New-TimeSpan : The parameter "Start" cannot be bound. The Value "06/14/2016 09:50:42" cannot get converted into "System.DateTime". Error : "String is no valid DateTime."
(翻譯成自己的話,因爲控制檯輸出是德國)的$p_sDatetime
function _CalcRunningTime
{
param([String] $p_sDatetime)
$sSYSDATE = Get-Date -format "dd.MM.yyyy HH:mm:ss"
$oCulture = New-Object System.Globalization.CultureInfo("de-DE")
$p_sDatetime = [DateTime]::ParseExact($p_sDatetime, "dd.MM.yyyy HH:mm:ss", $oCulture)
$sSYSDATE = [DateTime]::ParseExact($sSYSDATE, "dd.MM.yyyy HH:mm:ss", $oCulture)
$oTIMESPAN = New-TimeSpan –Start $p_sDatetime –End $sSYSDATE
$iSeconds = ($oTIMESPAN.Hours * 3600) + ($oTIMESPAN.Minutes * 60) + $oTIMESPAN.Seconds
Return $iSeconds
}
輸入格式是例如06.14.2016 09:50:42
。 ParseExact()
之後的格式如上所示。
函數TotalSeconds對我來說不是很高。我收到一個錯誤:我的func的返回值無法轉換爲System.Int32。 – Yaerox
@Mike無法重現。屬性'TotalSeconds'應該返回一個double,它可以轉換爲整數。 –
Sry,我再也無法再現它了......對我來說,現在它也可以工作......我想我在任何地方都遇到了另一個問題,而且我混淆了一切。謝謝你,先生。 – Yaerox