Добавление часов, минут, секунд к текущему времени


92

Как мне добавить часы, минуты и секунды (определенные как целые числа) к текущему времени, аналогично AddDate?

timein := time.Now().Local().AddDate(Hours, Mins, Sec)

но с часами, минутами и секундами.


2
golang.org/pkg/time/#Time.AddDate Функция AddDate () добавила годы, месяцы и дни ко времени
sunkuet02

Ответы:


140

Я думаю, что ты ищешь

timein := time.Now().Local().Add(time.Hour * time.Duration(Hours) +
                                 time.Minute * time.Duration(Mins) +
                                 time.Second * time.Duration(Sec))

Спасибо за быстрый ответ!
joshii_h

что это: = символ?
вишнупрасантх

1
Синтаксический сахар для одновременного объявления и назначения переменной. Заменяет var timein time.Time на timein = ...
Franck Jeannin

10
Упрощенное:timein := time.Now().Add(time.Hour * hours + time.Minute * mins + time.Second * sec)
Trevin Avery

5

AddDate принимает (и добавляет) год, месяц, день в качестве параметров, а не час, минуту, секунду.

Из https://golang.org/pkg/time/#Time.AddDate :

func (t Time) AddDate(years int, months int, days int) Time

1
Это больше не отвечает на вопрос. (Я вижу, как это могло быть ответом на первую версию до редактирования).
Дункан Джонс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.