【发布时间】:2010-10-25 19:57:59
【问题描述】:
我正在从数据库中的一个变量中获取日期字段,目前我正在使用以下代码检查日期是否为“yyyy-mm-dd”格式
if ( $dat =~ /\d{3,}-\d\d-\d\d/ )
我的问题,有没有更好的方法来做到这一点。
非常感谢
【问题讨论】:
-
如果这些数据的来源是你的数据库,为什么还要检查格式呢?只是好奇。
-
以什么方式更好?您是否担心不存在的日期?还是要允许其他日期格式?
-
你到底想做什么?人们为此提供了一些完全有效的正则表达式。如果你只是想检查格式,这些基本上都可以。如果你想检查日期的完整性,你需要做更多的事情。如果您想实际检查日期的有效性,甚至更多。我们可以安全地假设数据库没有将其存储在日期字段中并且数据可能无效吗?
-
是的,从数据库中验证日期是没有意义的,除非它们被存储为字符串——但为什么会这样呢?!如果你想把它们拆开,那么最好找出你的数据库把它们放在哪种格式中,然后编写一个正则表达式。