„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie ermittelt man den letzten Tag eines Monats in Go mithilfe des Zeitpakets?

Wie ermittelt man den letzten Tag eines Monats in Go mithilfe des Zeitpakets?

Veröffentlicht am 08.11.2024
Durchsuche:534

How to Determine the Last Day of a Month in Go using the Time Package?

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

Neuestes Tutorial Mehr>

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