>백엔드 개발 >Golang >Go에서 시간 오프셋 문자열을 Time.Location 객체로 변환하는 방법은 무엇입니까?

Go에서 시간 오프셋 문자열을 Time.Location 객체로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-14 19:29:13184검색

How to Convert a Time Offset String to a Time.Location Object in Go?

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

시간대 및 오프셋을 사용하여 작업할 때 다음과 같은 시나리오가 발생하는 것이 일반적입니다. 문자열로 표시되는 원시 시간 오프셋을 Go에서 사용 가능한 위치 객체로 변환합니다. 이는 time 패키지에서 제공하는 방법을 사용하여 쉽게 달성할 수 있습니다.

" 1100"과 같은 임의의 시간 오프셋을 얻었다고 가정합니다. 이 오프셋을 나타내는 time.Location 객체를 생성하려면 다음과 같이 FixZone 함수를 사용하면 됩니다.

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

이 함수는 지정된 이름과 오프셋을 초 단위로 사용하여 위치를 생성합니다.

연결하려면 새로 생성된 위치의 시간을 확인하려면 In 메서드를 사용하세요.

t = t.In(loc)

이 작업은 지정된 위치를 반영하도록 시간 t를 수정하고 해당 오프셋을 업데이트합니다.

다음은 다양한 상황에서 시간 변환 및 후속 출력을 보여주는 예입니다.

package main

import (
    "fmt"
    "time"
)

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

    // Output the original time and location
    fmt.Println(t)      // Output: 2023-09-13 18:37:08.729331723 +0000 UTC
    fmt.Println(t.Location()) // Output: UTC

    // Apply the new location to the time
    t = t.In(loc)

    // Output the modified time and location
    fmt.Println(t)      // Output: 2023-09-14 05:37:08.729331723 +1100 UTC+11
    fmt.Println(t.Location()) // Output: UTC+11

    // Output the UTC equivalent of the modified time
    fmt.Println(t.UTC()) // Output: 2023-09-13 18:37:08.729331723 +0000 UTC
    fmt.Println(t.Location()) // Output: UTC+11
}

이 코드는 시간 오프셋을 위치 개체로 변환하고 적용하는 방법을 보여줍니다. 다양한 시간대에 대해 정확한 표현을 얻을 수 있는 시간입니다.

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

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