время. Дата, это действительная дата? - PullRequest
0 голосов
/ 30 октября 2019

На ходу я могу создать дату с этим кодом

time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)

или с этим

t = time.Date(2009, time.February, 31, 0, 0, 0, 0, time.UTC)
fmt.Printf("February? %s\n", t.Local())

Но во втором случае я получаю

February? 2009-03-03 00:00:00 +0000 UTC

Как я могу проверить, являются ли параметры, использованные для создания новой даты, «действительными» (31 февраля этого года не существовало) и не меняются на другую дату?

Источник

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
    fmt.Printf("Go launched at %s\n", t.Local())

    t = time.Date(2009, time.February, 31, 0, 0, 0, 0, time.UTC)
    fmt.Printf("February? %s\n", t.Local())
}

https://play.golang.org/p/w08Hp2v3Qu1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...