[英]Convert String to Date in Powershell
今天我遇到了轉換這種類型的字符串“8/3/2020 10:29:33 AM”的問題,我需要將其轉換為日期格式。
我嘗試這種類型的命令,每次都會出錯:
$PwdExpiracy = "8/3/2020 10:29:33 AM"
$date = [datetime]::ParseExact($PwdExpiracy,'MM/dd/yyyy HH:mm:ss tt',$null)
錯誤是:
Exception calling "ParseExact" with "3" argument(s): "String was not recognized as a valid DateTime."
Au caractère Ligne:1 : 1
+ $date = [datetime]::ParseExact($PwdExpiracy,'MM/dd/yyyy HH:mm:ss tt',$nu ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : FormatException
你能幫我解決這個問題嗎? 那你真是太好了!
您正在對帶有前導零和 24 小時時間的日期使用格式說明符 - 更改為以下內容:
$date = [datetime]::ParseExact($PwdExpiracy, 'M/d/yyyy hh:mm:ss tt', $null)
M
是沒有前導零的月份d
是沒有前導零的日子hh
是 12 小時制中的小時 ( AM
/ PM
) 如果您仍然收到"String was not recognized as a valid DateTime."
,嘗試強制ParseExact()
使用InvariantCulture
(大致相當於en-US
語言環境),它應該接受它:
$date = [datetime]::ParseExact($PwdExpiracy, 'M/d/yyyy hh:mm:ss tt', [cultureinfo]::InvariantCulture)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.