kvaks
@kvaks

Как сравнить время?

Подскажите как правильно сравнить время.
Смог сделать вот так, но ошибка +3 часа.

var dateStart = time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 9,  0, 0, 0, time.UTC)
var dateEnd   = time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 17, 0, 0, 0, time.UTC)

	if dateStart.Before(time.Now()){
		println("star ok")
	}
	if	dateEnd.After(time.Now()) {
		println("end ok")
	}
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
EvgenyMamonov
@EvgenyMamonov Куратор тега Go
Senior software developer, system architect
Вы создаёте время в UTC зоне, а когда вызываете time.Now() - он возвращает вам время в вашей зоне, не в UTC.
Просто добавьте вызов UTC() в time.Now().UTC()

var dateStart = time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 9,  0, 0, 0, time.UTC)
var dateEnd   = time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 17, 0, 0, 0, time.UTC)

  if dateStart.Before(time.Now().UTC() ){
    println("star ok")
  }
  if dateEnd.After(time.Now().UTC()) {
    println("end ok")
  }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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