PHP日期验证类似于ASP isDate(),用于用户提交的日期,时间或日期/时间对

Ral*_*era 4 php asp-classic

我正在将ASP应用程序转换为PHP,并且难以转录日期验证功能.

在ASP中,我有函数isDate(),它允许我验证日期,无论其格式如何.因此,如果有人输入以下任何内容,isDate()将返回true:

1/1/2012
January 1, 2012
Jan 12, 2010 1:00 pm
1/1/2012 1:32 pm
Run Code Online (Sandbox Code Playgroud)

好处是我可以让用户以他们选择的任何格式输入数据和时间.之后,只需很少的努力,我就可以在不进行任何后期处理的情况下更新数据库(假设返回true).例如:

UPDATE my_table SET date_field = @date_var WHERE my_id = @id_var
[note: SQL Server 2008]
Run Code Online (Sandbox Code Playgroud)

使用PHP,我发现验证日期/时间更复杂.我已经回顾了这里发布的各种问题以及文档,似乎没有一种简单的方法来轻松验证日期或时间或日期/时间组合.

我想知道是否有可用于完成咕噜声工作的课程.有些东西会像isDate()一样工作,并根据用户输入的日期/时间/日期和时间向我发送一个真/假.

谢谢.

Tim*_*per 13

您可以检查返回值strtotime()以查看是否可以解析日期:

if(strtotime($date) !== false) {
   // valid date/time
}
Run Code Online (Sandbox Code Playgroud)

这也是如何通过将它们存储为返回值来规范化所有日期strtotime().