Ajout d'heures, de minutes, de secondes à l'heure actuelle

92

Comment ajouter des heures, des minutes et des secondes (définies comme des ints) à l'heure actuelle, comme AddDate?

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

mais avec des heures, des minutes et des secondes.

joshii_h
la source
2
golang.org/pkg/time/#Time.AddDate La fonction AddDate () a ajouté des années, des mois et des jours à l'heure
sunkuet02

Réponses:

140

Je suppose que tu cherches

timein := time.Now().Local().Add(time.Hour * time.Duration(Hours) +
                                 time.Minute * time.Duration(Mins) +
                                 time.Second * time.Duration(Sec))
Franck Jeannin
la source
Merci pour la réponse rapide!
joshii_h
qu'est-ce que c'est: = symbole?
vishnuprasanth
1
Sucre syntaxique pour déclarer et affecter une variable en même temps. Remplace var timein time.Time suivi de timein = ...
Franck Jeannin
10
Simplifié:timein := time.Now().Add(time.Hour * hours + time.Minute * mins + time.Second * sec)
Trevin Avery
5

AddDate prend (et ajoute) l'année, le mois, le jour comme paramètres, pas l'heure, la minute, la seconde.

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

func (t Time) AddDate(years int, months int, days int) Time
heemayl
la source
1
Cela ne répond plus à la question. (Je peux voir comment cela aurait pu être une réponse pour la première version, avant les modifications).
Duncan Jones