[英]Apply UFormat to System.DateTime variable
我正在嘗試將特定格式應用於 Powershell 上的 DateTime 變量,但我發現這是不可能的。
這很好用:
>> Get-Time -UFormat "%Y%m%d-%h%M%S"
20210412-135938
但是如果我嘗試將它分配給一個變量然后進行格式化,我會遇到一個錯誤,例如
$startDate=Get-Date -Year 2021 -Month 01 -Day 01 -Hour 11 -Minute 00 -Second 00
$startDate=$startDate.addHours(10)
$startDate=$startDate.addHours(23)
($startDate) -UFormat "%Y%m%d-%h%M%S"
然后我收到Token Uformat unexpected
錯誤。 有人可以闡明如何使這種格式起作用嗎?
謝謝,
您可以將現有的[datetime]
值傳遞給Get-Date
的-Date
參數:
Get-Date -Date $startDate -UFormat "%Y%m%d-%h%M%S"
有更多的格式化日期的方法比使用 UFormat 更“PowerShelly”:
ToString()
方法:(Get-Date).AddHours(10).ToString("yyyyMMdd-HHmmss")
Get-Date
的 -Format 參數:$startDate = (Get-Date).AddHours(10)
Get-Date -Date $startDate -Format "yyyyMMdd-HHmmss"
-f
格式運算符:'{0:yyyyMMdd-HHmmss}' -f (Get-Date).AddHours(10)
-UFormat 開關屬於 Get-Date commandlet。 所以你會使用這個語法:
Get-Date ($startDate) -UFormat "%Y%m%d" 例如。
而且,如果我在您的日期格式字符串中解釋您“真正”想要的內容,那么您在小時標記上的大小寫不正確。
"%Y%m%d-%h%M%S" 應該是
獲取日期($startDate)-UFormat %Y%m%d-%H%M%S
哪個將返回:20210102-200000
這些代幣——至少在我得到它們的地方——來自 TCL。
Goggle tcl 時鍾手冊頁以獲取完整列表。
我通常使用 -UFormat 開關 - 我知道 TCL 令牌,不必擔心 Microsoft 日期字符串令牌中使用的 escaping 個字母。
獲取日期($startDate)-格式“Hello-yyyyMMdd-HHmmss-World”
返回:20ello-20210102-200000-Worl2 因為 H 和 d 是標記 - 需要轉義 \H \d
然而
獲取日期($startDate)-UFormat "Hello-%Y%m%d-%H%M%S-World"
返回:Hello-20210102-200000-World
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.