>백엔드 개발 >Golang >Go에서 시간 오프셋을 시간대 및 위치로 변환하는 방법은 무엇입니까?

Go에서 시간 오프셋을 시간대 및 위치로 변환하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-11 16:25:14928검색

How to Convert a Time Offset to a Timezone and Location in Go?

Go에서 시간 오프셋을 위치/시간대로 변환

시간 오프셋을 포함하지만 위치 정보가 부족한 시간 데이터로 작업할 때 오프셋을 정확하게 기록하고 사용자의 시간을 기준으로 시간을 출력하려면 사용 가능한 time.Location 객체를 생성하는 데 필요합니다. 위치.

Go에서는 FixZone 함수를 사용하여 UTC를 기준으로 고정된 오프셋으로 위치를 지정할 수 있습니다. 예를 들어 11 오프셋에 대한 위치를 생성하려면 다음 코드를 사용합니다.

loc := time.FixedZone("UTC+11", +11*60*60)

위치가 정의되면 원하는 시간 개체로 설정합니다.

t = t.In(loc)

이것은 시간 개체를 지정된 위치와 해당 시간 오프셋으로 조정합니다.

다음 코드를 실행하면 이에 대한 예가 됩니다. 프로세스:

package main

import (
    "fmt"
    "time"
)

func main() {
    loc := time.FixedZone("UTC+11", +11*60*60)

    t := time.Now()
    fmt.Println(t)
    fmt.Println(t.Location())

    t = t.In(loc)
    fmt.Println(t)
    fmt.Println(t.Location())

    fmt.Println(t.UTC())
    fmt.Println(t.Location())
}

출력:

2009-11-10 23:00:00 +0000 UTC m=+0.000000001
UTC
2009-11-11 10:00:00 +1100 UTC+11
UTC+11
2009-11-10 23:00:00 +0000 UTC
UTC+11

보다시피 원래 시간(UTC)은 지정된 오프셋 위치로 조정됩니다. 또한 출력에서는 time.UTC() 메서드가 원래 시간을 UTC로 반환하는 반면 time.Location() 메서드는 조정된 위치 정보를 반환한다는 것을 보여줍니다.

위 내용은 Go에서 시간 오프셋을 시간대 및 위치로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.