Adicionando horas, minutos e segundos à hora atual

95

Como adiciono horas, minutos e segundos (definidos como ints) à hora atual, semelhante a AddDate?

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

mas com horas, minutos e segundos.

joshii_h
fonte
2
golang.org/pkg/time/#Time.AddDate Função AddDate () adicionada em anos, meses e dias
sunkuet02

Respostas:

145

Eu acho que você está procurando

timein := time.Now().Local().Add(time.Hour * time.Duration(Hours) +
                                 time.Minute * time.Duration(Mins) +
                                 time.Second * time.Duration(Sec))
Franck Jeannin
fonte
Obrigado pela resposta rápida!
joshii_h
o que é isso: = símbolo?
vishnuprasanth
1
Açúcar sintático para declarar e atribuir uma variável ao mesmo tempo. Substitui var timein time.Time seguido por timein = ...
Franck Jeannin
10
Simplificado:timein := time.Now().Add(time.Hour * hours + time.Minute * mins + time.Second * sec)
Trevin Avery
5

AddDate leva (e adiciona) ano, mês, dia como parâmetros, não hora, minuto, segundo.

De https://golang.org/pkg/time/#Time.AddDate :

func (t Time) AddDate(years int, months int, days int) Time
heemayl
fonte
2
Isso não responde mais à pergunta. (Posso ver como pode ter sido uma resposta para a primeira versão, antes das edições).
Duncan Jones