Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich in Golang einen Datumsbereich im Format JJJJ-MM-TT von Anfang bis Ende?

Wie erstelle ich in Golang einen Datumsbereich im Format JJJJ-MM-TT von Anfang bis Ende?

WBOY
WBOYnach vorne
2024-02-12 18:00:071074Durchsuche

Wie erstelle ich in Golang einen Datumsbereich im Format JJJJ-MM-TT von Anfang bis Ende?

Frageninhalt

Angenommen, unsere Eingabe ist start_date=2022-01-01end_date=2022-01-05. Wie erhalte ich Eingaben wie diese:

2022-01-01
2022-01-02
2022-01-03
2022-01-04

Ich kann time.parse 解析开始和结束,并使用 .sub verwenden, um die Anzahl der Tage dazwischen zu ermitteln, dann über den Bereich iterieren und das String-Datum erstellen. Ich habe mich gefragt, ob es eine Möglichkeit gibt, einen Datumsbereich in go zu erstellen, oder eine bessere Lösung?

Lösung

Sie können Folgendes verwenden:

const (
    layout = "2006-01-02"
)

func main() {
    startdate, _ := time.parse(layout, "2022-01-01")
    enddate, _ := time.parse(layout, "2022-01-05")

    for date := startdate; date.before(enddate); date = date.adddate(0, 0, 1) {
        fmt.println(date.format(layout))
    }
}

Das gibt Ihnen:

2022-01-01
2022-01-02
2022-01-03
2022-01-04

Vollständiges Beispiel

Das obige ist der detaillierte Inhalt vonWie erstelle ich in Golang einen Datumsbereich im Format JJJJ-MM-TT von Anfang bis Ende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen