Как конвертировать +0000 UT C в +0100 CET - PullRequest
0 голосов
/ 13 февраля 2020

Я написал программу, которая возвращает сводку на основе текущего времени, но я изучаю проблему, заключающуюся в том, что текущее время находится в моем локальном формате, но время начала и окончания, которое я получаю из базы данных, находится в другом часовом поясе, поэтому в Например, вместо события, которое длится с 16:00 до 23:59, оно длится с 17:00 до 00:59 (разница в один час) в том же часовом поясе?

1 Ответ

0 голосов
/ 13 февраля 2020

Если событие хранится где-то (в базе данных), оно будет сохранено как метка времени из UT C. Если вы хотите, чтобы отображало местное время в другом часовом поясе , вы можете использовать что-то вроде этого:

startTime := time.Now()
// startTime will be in UTC and the timezone
// will be set to whatever your local timezone is

// load the location you want to display the time in 
loc, _ := time.LoadLocation("Europe/Berlin")

// set timezone and display:
timeToDisplay := startTime.In(loc).String()
fmt.Println(timeToDisplay)
...