DateTimeとSysdateの差を秒単位で取得する必要があります。New-TimeSpan -Startはバインドできません。値はありません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()
の後に、フォーマットは上記のようになります。
Function TotalSecondsは私にはハイライトではありません。私はエラーが発生している:私の関数の戻り値は、System.Int32に変換することはできません。 – Yaerox
@Mike再生できません。 'TotalSeconds'プロパティは整数に変換可能なdoubleを返します。 –
Sry、私はもはやそれを再現することはできません...私のために、これは今でも動作します...私はどこか別の問題を抱えていたと思います。ありがとうございます。 – Yaerox