用PHP检查变量是否是日期?

bir*_*d03 3 php

我有以下字符串:

08/07/2012 04:17:18

如何date使用 PHP 检查它是否是一种数据类型?例如,如果我正在检查integer,我会这样做:if(is_int($checkVar)。我怎样才能对这种日期格式做同样的事情?

小智 6

date_parse($theString)
Run Code Online (Sandbox Code Playgroud)

将返回以下格式的数组

Array
(
    [year] => 2006
    [month] => 12
    [day] => 12
    [hour] => 10
    [minute] => 0
    [second] => 0
    [fraction] => 0.5
    [warning_count] => 0
    [warnings] => Array()
    [error_count] => 0
    [errors] => Array()
    [is_localtime] => 
)
Run Code Online (Sandbox Code Playgroud)

如果找不到日期则返回 false。如果这足以满足您的需求,那么就使用它!


Dan*_*ial 6

if (strtotime($date) !== false)
Run Code Online (Sandbox Code Playgroud)

如果日期有效,strtotime() 返回数字。请注意,strtotime() 和 date_parse() 也适用于字符串,因此如果您正在验证数据库并且不想要类似的东西

March 1st 2011
Run Code Online (Sandbox Code Playgroud)

工作的话你就不能使用这些功能了。对于 mysql 日期我通常这样做

$date = date('Y-m-d',strtotime($date));
Run Code Online (Sandbox Code Playgroud)

它将任何日期格式格式化为所需的格式。如果原始 $date 不是日期格式,则生成的 $date 将为 false。