go语言中的日期检验
写项目的时候,需要检验输入日期的格式和天数是否正确,基于面向谷歌编程找到的方法都是正则之类的,但是用的时候都不太好用,月份天数和闰年经常出现错误。
突然想到time里的Parse()函数,用它进行转换的时候,日期不对会出现错误,抱着试试的想法尝试一下,发现应该是可行的。
下面是代码:
package main
import (
"fmt"
"time"
)
func main() {
var date [5]string = [5]string{"2020-04-01", "2020-02-29", "2020-04-31", "2019-02-29", "2020-4-01"}
for _, v := range date {
_, err := time.Parse("2006-01-02", v)
if err != nil {
fmt.Println(err)
} else {
fmt.Println("OK")
}
}
}
结果:
于是可以通过是否出现错误,直接判断输入日期格式和天数的正确性。
感觉十分简单,如果有问题的话欢迎指正。