Bestimmen des letzten Tages in einem bestimmten Monat mithilfe von Time.Time
Bei der Arbeit mit zeitbasierten Daten ist es oft notwendig, den zu bestimmen letzter Tag in einem bestimmten Monat. Unabhängig davon, ob der Monat 28, 29 (in Schaltjahren) oder 30 oder 31 Tage hat, kann dies eine herausfordernde Aufgabe sein.
Zeitpaketlösung
Das Go-Zeitpaket bietet mit seiner Datumsfunktion eine komfortable Lösung. Die Syntax für Datum lautet:
func Date(year int, month Month, day, hour, min, sec, nsec int, loc *Location) Time
Um den letzten Tag in einem zu erhalten Monat können wir das Datum normalisieren, indem wir den Tag auf 0 setzen. Dadurch wird automatisch die tatsächliche Anzahl der Tage im Monat angepasst.
Um beispielsweise den letzten Tag im Januar 2016 zu erhalten:
package main
import (
"fmt"
"time"
)
func main() {
// January, 29th
t, _ := time.Parse("2006-01-02", "2016-01-29")
// Get year and month components
y, m, _ := t.Date()
// Normalize date to get last day of month
lastday := time.Date(y, m 1, 0, 0, 0, 0, 0, time.UTC)
fmt.Println(lastday.Date())
}
````
Output:
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