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 중국어 웹사이트의 기타 관련 기사를 참조하세요!