Powershell에서 String형을 datetime형으로 변환하기 위한 방법입니다.
20160714 와 같은 format을 ToDateTime 이나 [datetime] 을 사용하여 변환하려고 하면 오류가 발생합니다.
이럴때 ParseExact를 사용하여 현재 Format을 인지 시켜 줘야합니다.
ParseExact의 Parameter는 다음과 같습니다.
|
그럼 다음과 같이 예시를 통해 알아보도록 하겠습니다.
>> $strDate = "20160714"
>> $dateDate = [datetime] $strDate
값 "20160714"을(를) "System.DateTime" 유형으로 변환할 수 없습니다. 오류: "문자열이 유효한 DateTime으로 인식되지 않습니
다."
위치 줄:1 문자:1
+ $dateDate = [datetime] $strDate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvalidCastParseTargetInvocationWithFormatProvider
>> $dateDate = [datetime]::parseExact($strDate, "yyyyMMdd", $null)
>> WriteHost $dateDate
2016-07-14 오전 12:00:00
parseExact를 통해 현재 String형의 각 값이 어떤 의미를 가지는지 인식을 시켜주면 정상적으로 DateTime 형으로 변환되는 것을 볼 수 있습니다.
'Microsoft > PowerShell' 카테고리의 다른 글
Visual Studio에 Powershell 추가 방법 (0) | 2014.10.31 |
---|