Comment écrire cette règle de vérification ?
phpcn_u16587
phpcn_u16587 2017-09-09 10:00:48
0
2
1993

Supposons que vous souhaitiez vérifier si un champ de date est compris entre une certaine date et aujourd'hui. Quelle est la manière la plus simple d'écrire des règles de validation ?

Exemple : $rule = [

'birthday' => 'after:1940-1-1|before:today',

];

Comment "aujourd'hui" dans la règle doit être obtenu et inséré dans la règle du milieu ?

phpcn_u16587
phpcn_u16587

répondre à tous(2)
phpcn_u16587

Le but de ma question est de savoir s'il est possible d'insérer une variable ou une fonction personnalisée dans la position « aujourd'hui » ?

phpcn_u2434
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 '不是指定的时间段';
}
望采纳


Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal