time.Parse 동작
Go에서 time.Parse 함수를 사용하여 문자열을 time.Time 값으로 변환하려고 할 때, 시간대를 올바르게 지정하지 않으면 예상치 못한 결과가 발생할 수 있습니다. 이 문서에서는 시간대 형식을 ISO 8601에 맞춰 이 문제에 대한 해결책을 살펴봅니다.
time.Parse 함수에는 입력 문자열의 형식을 정의하는 레이아웃 문자열이 필요합니다. 제공된 레이아웃 문자열 "2013-05-13T18:41:34.848Z"는 Golang에서 사용하는 참조 시간(UTC-0700 시간대에서 "Mon Jan 2 15:04:05 MST 2006")을 정확하게 나타내지 않습니다.
이 문제를 해결하려면 참조 시간과 일치하는 맞춤 레이아웃 문자열을 정의해야 합니다. 다음 레이아웃 문자열을 사용해야 합니다.
const longForm = "2006-01-02 15:04:05 -0700"
이 레이아웃 문자열은 참조 시간 형식과 일치합니다. 여기서:
이 수정된 레이아웃 문자열을 사용하면 time.Parse 함수가 입력 문자열을 다음으로 성공적으로 변환할 수 있습니다. 시간.시간 값:
t, err := time.Parse(longForm, "2013-05-13 18:41:34.848 -0700") if err != nil { log.Fatal(err) } fmt.Println(t)
이것은 올바르게 수행됩니다. 출력:
2013-05-13 01:41:34.848 +0000 UTC
time을 사용할 때 시간대 형식을 올바르게 처리하는 방법을 보여줍니다. Go에서 구문 분석하여 정확한 시간 변환을 보장합니다. 레이아웃 문자열을 기준 시간 및 시간대 사양에 맞춰 정렬하면 예상한 결과를 얻을 수 있습니다.
위 내용은 Go의 time.Parse 기능을 사용할 때 시간대를 올바르게 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!