시간대를 올바르게 사용하여
는 시간을 어떻게 처리하는지에 대한 뉘앙스를 이해하는 것이 중요합니다.
func parseAndPrintWithLocation(now time.Time, timezone string) { location, err := time.LoadLocation(timezone) if err != nil { fmt.Println(err) return } test, err := time.ParseInLocation("15:04:05 MST", fmt.Sprintf("05:00:00", timezone), location) if err != nil { fmt.Println(err) return } test = time.Date( now.Year(), now.Month(), now.Day(), test.Hour(), test.Minute(), test.Second(), test.Nanosecond(), test.Location(), ) fmt.Println(test) }
논쟁으로서 약어. 그러나 지정한 시간대에 관계없이 함수의 출력은 항상 "05:00:00 0000 UTC"입니다.
현재 위치에서 시간을 구문 분석하기 때문에 문제가 발생합니다. 이는 원하는 시간대와 다를 수 있습니다. Go 's Time.parse 함수는 Time.location을 사용하여 명시 적으로 지정하지 않는 한 현재 위치에서 구문 분석한다고 가정합니다. 특정 시간대에서 시간을 올바르게 구문 분석하려면 다음 단계를 사용해야합니다.
시간을 사용하여 원하는 Timezone의 위치를로드합니다 (TimezonAbbreviation). time.parseinlocation (locallocation, timestring, location)을 사용하는 시간, locallocation은 현재 위치이며, 시간 스트링은 시간 문자열 (예 : "05:00:00")이며 위치는 1 단계에서 얻은 시간대 위치입니다.
TimeZone 위치와의 올바른 접근 방식을 사용하여 TheParsed Time이 원하는 시간대를 반영하여 코드가 다른 지역의 시간을 정확하게 처리 할 수 있도록 할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3