84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
假设要验证日期字段是否在某个日期至今天之间,用什么方式写验证规则最简单?
例:$rule = [
'birthday' => 'after:1940-1-1|before:今天',
];
规则中的“今天”该如取得并插入到规则中?
我问的目的是指能不能用自定义变量或函数插入到“今天”这个位置?
mktime(0,0,0,date('m'),date('d'),date('Y')); //今日凌晨 mktime(0,0,0,date('m'),date('d')-1,date('Y')); //昨日凌晨 mktime(0,0,0,date('m'),date('d')+1,date('Y')); //明日凌晨 前面3个从左到右分别代表小时,分钟,秒 mktime(12,9,10,date('m'),date('d'),date('Y')); //今日的12:09:10 上面获取到的都是时间戳格式 可以通过date转换为日期格式 date("Y-m-d H:i:s",mktime(12,9,10,date('m'),date('d'),date('Y'))); 当然也可以日期转时间戳 strtotime("2011-2-18 08:15:42"); //时间转时间戳 那么知道以上时间的获取方式,再根据你的需求来进行运算,用时间戳来运算就比较简单了 昨日的时间戳肯定小于今日的时间戳 明日的时间戳肯定大于今日的时间戳 比如你要判断2000-1-1 是否再1940-1-1 和今日之间 可以这样写 $a = strtotime("2000-1-1"); $b = time();//当前的时间戳 你要指定时间也可以用上面的一些函数 $m = strtotime("1940-1-1"); if($a > $m && $a < $b) { echo '在1940-今日之间'; }else{ echo '不是指定的时间段'; } 望采纳
我问的目的是指能不能用自定义变量或函数插入到“今天”这个位置?