我们如何检查被认为是 MySQL TIMESTAMP 的字符串实际上是有效的?使用的格式是:
YYYY-MM-DD HH:MM:SS[.fraction]
其中“分数”有 3 位数字。
例如 2016-03-28 12:17:30.022
应该是有效的。我最好避免使用正则表达式并使用 time.Parse()
但欢迎任何其他建议。
最佳答案
调用时间。使用诸如“2006-01-02 15:04:05.999”之类的布局字符串进行解析 在你的时间字符串上。如果这导致有效的 time.Time 值并且没有错误,那么您的字符串应该在数据库中工作。
timeStamp, err := time.Parse("2006-01-02 15:04:05.999", yourTimeString)
if err != nil {
// do something with err...
}
// do something with timeStamp...
我不使用 MySQL,但在 PostgreSQL 和 Go 之间,您可以传递时间戳和时间。时间值而无需转换为字符串……所以这可能会简化您的问题。使用 time.Parse 在 Go 中隐藏字符串,然后将 time.Time 值写入数据库。
关于mysql - 戈朗 : How to validate a MySQL timestamp string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36288126/