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