Hinzufügen von Stunden, Minuten, Sekunden zur aktuellen Zeit


92

Wie füge ich der aktuellen Zeit Stunden, Minuten und Sekunden (definiert als Ints) hinzu, ähnlich wie AddDate?

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

aber mit Stunden, Minuten und Sekunden.


2
golang.org/pkg/time/#Time.AddDate AddDate () Funktion fügte Jahre, Monate und Tage zur Zeit hinzu
sunkuet02

Antworten:


139

Ich denke, was Sie suchen, ist

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

Vielen Dank für die schnelle Antwort!
Joshii_h

was ist das: = symbol?
Vishnuprasanth

1
Syntaktischer Zucker zum gleichzeitigen Deklarieren und Zuweisen einer Variablen. Ersetzt var timein time.Time gefolgt von timein = ...
Franck Jeannin

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

5

AddDate Nimmt (und fügt hinzu) Jahr, Monat, Tag als Parameter, nicht Stunde, Minute, Sekunde.

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

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

1
Dies beantwortet die Frage nicht mehr. (Ich kann sehen, wie es eine Antwort für die erste Version gewesen sein könnte, bevor Änderungen vorgenommen wurden).
Duncan Jones
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.