다음과 같은 형식의 날짜 시간 문자열이 들어옵니다.
2017-08-03T12:30:00.000Z
이것들을 EST로 변환 할 수 있어야합니다. 내가 시도한 모든 함수는 일반적으로 다음과 같은 오류를 발생시킵니다.
"String was not recognized as a valid DateTime."
아래의 변형을 시도했습니다.
$time = '2017-08-03T12:30:00.000Z'
[datetime]$datetime = $time
$culture = [Globalization.CultureInfo]::InvariantCulture
[DateTime]::ParseExact($datetime, 'MM-dd-yyyy HH:mm:ss', $culture)
내가 참조하는 날짜 시간 문자열 **T**
에 UTC 시간과 관련이 있다고 생각 하지만 어떻게 해야할지 알 수 없습니다. 시간을 파싱하고 변환 한 다음 문자열의 첫 부분 인 날짜에 다시 연결하고 최종 출력을 위해 함께 결합해야할까요? 너무 많은 작업과 미래에 잠재적 인 오류를 일으킬 수있는 해결책처럼 보입니다.
Zulu 시간 문자열을 DateTime
단순히 캐스팅 하여 값 으로 변환 할 수 있어야 합니다. 그러나 결과 값은 현지 시간이므로 추가 계산을 위해 다시 UTC로 변환해야합니다.
$timestamp = '2017-08-03T12:30:00.000Z'
$datetime = ([DateTime]$timestamp).ToUniversalTime()
그런 다음 TimeZoneInfo
클래스를 사용하여 UTC 타임 스탬프를 원하는 시간대로 변환 할 수 있습니다 .
[TimeZoneInfo]::ConvertTimeBySystemTimeZoneId($datetime, 'Eastern Standard Time')
[TimeZoneInfo]::GetSystemTimeZones() | Select-Object Id, DisplayName
인식 된 시간대 목록을 가져 오는 데 사용 합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다