Delgus
@Delgus

Как получить таймзону вида 'Europe/Moscow' в виде '3h'?

Заранее прошу прошения за столь ламмерский вопрос, но увы не могу найти решения которое бы понравилось мне.
Я хочу получить сдвиг от UTC для таймзоны в формате '3h', 3 или хотя бы '+03.00' но никак не могу найти простого способа сделать эту.
Тоесть входные данные - таймзона строкой (например 'Europe/Moscow' , 'Asia/Yekaterinburg' ).
Хочу получить '3h' и '5h' соответственно из этих строк. как?
  • Вопрос задан
  • 3446 просмотров
Решения вопроса 1
@ghostiam
На Go писатель, серверов пинатель.
Я вижу такой вариант, через форматирование времени
https://play.golang.org/p/7qLhhuiWmWE

package main

import (
	"fmt"
	"log"
	"time"
)

func main() {
	location, err := time.LoadLocation("Europe/Moscow")
	if err != nil {
		log.Fatal(err)
	}

	in := time.Now().In(location)
	fmt.Println(in.Format("Z07:00"))
	fmt.Println(in.Format("-0700"))
	fmt.Println(in.Format("Z07"))
	fmt.Println(in.Format("-07"))
}

// Вывод:
// +03:00
// +0300
// +03
// +03
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы