Agregar horas, minutos, segundos a la hora actual


92

¿Cómo agrego horas, minutos y segundos (definidos como ints) a la hora actual, similar a AddDate?

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

pero con horas, minutos y segundos.


2
golang.org/pkg/time/#Time.AddDate La función AddDate () agregó años, meses y días hasta el momento
sunkuet02

Respuestas:


140

Supongo que lo que buscas es

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

¡Gracias por su pronta respuesta!
joshii_h

¿Qué es eso: = símbolo?
vishnuprasanth

1
Azúcar sintáctico para declarar y asignar una variable al mismo tiempo. Reemplaza var timein time.Time seguido de timein = ...
Franck Jeannin

10
Simplificado:timein := time.Now().Add(time.Hour * hours + time.Minute * mins + time.Second * sec)
Trevin Avery

5

AddDate toma (y agrega) año, mes, día como parámetros, no hora, minuto, segundo.

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

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

1
Esto ya no responde a la pregunta. (Puedo ver cómo podría haber sido una respuesta para la primera versión, antes de las ediciones).
Duncan Jones
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.