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.