【发布时间】:2016-07-17 05:37:30
【问题描述】:
我们如何检查一个被认为是 MySQL TIMESTAMP 的字符串实际上是有效的?使用的格式是:
YYYY-MM-DD HH:MM:SS[.fraction] 其中“分数”有 3 位数字。
例如2016-03-28 12:17:30.022 应该是有效的。我最好避免使用正则表达式并使用time.Parse(),但欢迎提出任何其他建议。
【问题讨论】:
-
调用 time.Parse 并在您的时间字符串上使用布局字符串,例如“2006-01-02 15:04:05.999”。如果这导致有效的 time.Time 值并且没有错误,那么您的字符串应该在数据库中工作。我不使用 MySQL,但在 PostgreSQL 和 Go 之间,您可以传递时间戳和 time.Time 值而不转换为字符串......所以也许这可以简化您的问题。使用 time.Parse 对 Go 中的字符串进行转换,然后将 time.Time 值写入数据库。
-
谢谢@Snowman。这正是我一直在寻找的......
-
很高兴为您提供帮助。我发布了该评论作为答案。
标签: mysql validation date go time