【发布时间】:2016-12-31 02:28:45
【问题描述】:
我有一项活动,无论月/年,都只在某个日期范围内执行。我需要验证当前日期是否 >= 30 和
示例代码如下:
$t = microtime(true);
$micro = sprintf("%06d",($t - floor($t)) * 1000000);
$d = new DateTime( date('Y-m-d H:i:s.'.$micro, $t) );
$date = substr($d->format("d"),0,2);
if($date >= 30000000 && $date <= 05000000){
$validate = true;
}
我根本不能使用 >= 30 和
if($date = 30 || $date = 31 || $date = 01 || $date = 02 || $date = 03 || $date = 04 || $date = 05){
$validate = true;
}
【问题讨论】:
-
您应该使用
'j'格式说明符而不是'd':$day = $d->format('j');。无需字符串操作。 -
您不需要
microtime来为当前日期/时间构建DateTime对象。只需调用不带参数的构造函数:$d = new DateTime();
标签: php validation date datetime