Die Arbeit mit Zeitwerten in der Programmierung erfordert häufig die Manipulation von Datumsangaben und die Bestimmung bestimmter Aspekte von Zeitrahmen. Eine häufige Aufgabe besteht darin, den letzten Tag eines bestimmten Monats zu ermitteln. Dies kann besonders schwierig sein, wenn es sich um Monate handelt, die eine unterschiedliche Anzahl von Tagen haben, wie zum Beispiel Februar.
Im Zeitpaket von Go stellt der Typ time.Time einen Zeitpunkt dar. Um den letzten Tag eines Monats für einen bestimmten Zeitwert zu erhalten, können wir die Datumsfunktion verwenden.
Die Datumsfunktion benötigt mehrere Parameter, darunter:
Um den letzten Tag eines Monats zu finden, können wir den Tagesparameter auf 0 setzen und den Monatsparameter um eins erhöhen. Dadurch wird ein time.Time-Wert zurückgegeben, der den ersten Tag des nächsten Monats darstellt. Von diesem Wert können wir dann einen Tag abziehen, um den letzten Tag des aktuellen Monats zu erhalten.
Um beispielsweise den letzten Tag im Januar 2016 zu finden, können wir den folgenden Code verwenden:
package main
import (
"fmt"
"time"
)
func main() {
// January, 29th
t, _ := time.Parse("2006-01-02", "2016-01-29")
// Increment month and set day to 0 to get first day of next month
y, m, _ := t.Date()
lastDay := time.Date(y, m 1, 0, 0, 0, 0, 0, time.UTC)
// Subtract one day to get last day of current month
lastDay = lastDay.Add(-24 * time.Hour)
fmt.Println(lastDay)
}
Die Ausgabe dieses Programms ist:
2016-01-31 00:00:00 0000 UTC
Dies gibt uns korrekt den letzten Tag des Monats, der ist der 31. Januar 2016.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3