我運行一個PowerShell腳本傳遞參數,例如「20160428」PowerShell的 - 格式化日期YYMMDD格式
我需要的是格式爲YYMMDD本(即獲得「160428」的結果)。我可以刪除「20」,但我希望得到這個權利。對於這樣的我這樣做了很多嘗試,如:
#$COBDATE= '{0:yyMMdd}' -f $COBDATE
#$COBDATE = ([datetime]::ParseExact($COBDATE, "yyMMdd", [System.Globalization.CultureInfo]::InvariantCulture)).DayOfWeek
,最後一個:
$COBDATE = ("{0:yyMMdd}" -f [datetime]::parse($COBDATE))
下面的作品,但一旦我代替我的時間「獲取最新」,「20160428」它只是打印出yyMMdd字符串。
$b = (Get-Date).AddDays(-1).ToString("yyMMdd")
所以,如果我試試這個:
$input = "20160428"
$format = "yyMMdd"
$input_toDate_up = [DateTime]::ParseExact($input, $format, $null).ToString($format)
$input_toDate_up
它只是說該字符串不是有效的日期時間,這似乎是根本原因。
請幫忙嗎?
正如ssaviers提到的,您還應該使用$ Input之外的變量來避免衝突。 – APB
在我的情況下,我添加了將參數轉換爲字符串之前($ cobdate = [string] $ cobdate,但之後,它完美的工作,謝謝! – Tiago
什麼類型之前鑄造到一個字符串?如果$ cobdate已經是一個日期時間對象,你可以簡單地執行Get-Date -Date $ cobdate -Format「yyMMdd」 – APB