#go
#Вперед
Вопрос:
Я получаю смещение часового пояса в минутах, т.Е.. 240 (представляющий GMT-4) и необходимо преобразовать его в -0800 или -08:00. Как я могу сделать это правильно в Go lang?
Ответ №1:
Кажется, это делает это:
package main
import (
"fmt"
"time"
)
func zone(s string, d time.Duration) *time.Location {
f := d.Seconds()
return time.FixedZone(s, int(f))
}
func main() {
z := zone("GMT-4", -240 * time.Minute)
t := time.Date(2021, 3, 30, 19, 22, 53, 0, z)
fmt.Println(t) // 2021-03-30 19:22:53 -0400 GMT-4
}
Комментарии:
1. Я пришел к тому же выводу, мне не понравилось, что с фиксированной зоной связано произвольное имя, но я на самом деле полностью его игнорирую. Ну что ж, в любом случае это был странный крайний случай.