在PHP上有没有一种方法可以检查我是否只发布了一个日期而没有时间?
Ex.
2015-11-18 -> TRUE
2015-11-18 00:00:00 -> FALSE
2015-11-18 23:59:00 -> FALSE
谢谢!
要获取当前日期,可以使用-
date("Y-m-d")
它只给出日期。
或者如果你已经有约会了-
$date = '10.21.2011';
echo date('Y-m-d', strtotime(str_replace('.', '/', $date)));
要验证,可以使用preg_match
-
$date="10.21.2011";
if (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/",$date))
{
return true;
}else{
return false;
}
$date = "2014-04-01 12:00:00";
preg_match('/('d{4})-('d{2})-('d{2}) ('d{2}):('d{2}):('d{2})/',$date);
函数。检查
您可以使用我的函数(或在PHP.net上)来验证日期&用于此目的的时间:
var_dump( validateDate('2015-11-18', 'Y-m-d') ); # true
var_dump( validateDate('2015-11-18 00:00:00', 'Y-m-d') ); # false
var_dump( validateDate('2015-11-18 23:59:00', 'Y-m-d') ); # false
demo
这可以用一种简单的方式完成。我所做的是,将字符串拆分为一个数组。作为所有3个字符串(您给出的日期样本),通过:
符号彼此区分。所以拆分它并使用count()
方法。如果它被拆分,那么count()
将返回value > 1
。这是一个简单的方法。。
<?php
//U can use $a=date("Y-m-d");
$a='2015-11-18'; //Here i am taking an Example
$b=explode(':' , $a);
if(count($b)>1)
{
echo "FALSE";
}else
{
echo "TRUE";
}
希望你期待着这样的事情。
注意-我已经按照你的问题回答了。一般情况下不同的