Je dois enregistrer PHP si l'heure actuelle est avant 14 heures ce jour-là.
Je l'ai fait avec strtotime
aux dates précédentes, mais cette fois, c'est avec une heure seulement, donc évidemment à 0,00 chaque jour, l'heure sera réinitialisée, et le booléen sera réinitialisé de false
à true
.
if (current_time < 2pm) {
// do this
}
if (date('H') < 14) {
$pre2pm = true;
}
Pour plus d'informations sur la fonction date, veuillez voir le manuel PHP . J'ai utilisé le formateur d'heure suivant:
H = format 24 heures d'une heure (00 à 23)
Essayer:
if(date("Hi") < "1400") {
}
Voir: http://php.net/manual/en/function.date.php
H 24-hour format of an hour with leading zeros 00 through 23
i Minutes with leading zeros 00 to 59
Tu pourrais juste passer le temps
if (time() < strtotime('2 pm')) {
//not yet 2 pm
}
Ou saisissez également la date de manière explicite
if (time() < strtotime('2 pm ' . date('d-m-Y'))) {
//not yet 2 pm
}
Utilisez 24 heures pour contourner le problème comme suit:
$time = 1400;
$current_time = (int) date('Hi');
if($current_time < $time) {
// do stuff
}
Donc 2PM équivaut à 14:00 en 24 heures. Si nous supprimons les deux points du temps, nous pouvons l'évaluer comme un entier dans notre comparaison.
Pour plus d'informations sur la fonction date, veuillez voir le manuel PHP . J'ai utilisé les formateurs d'heure suivants:
H = format 24 heures d'une heure (00 à 23)
i = minutes avec des zéros en tête (00 à 59)
Vous ne nous avez pas dit quelle version de PHP vous utilisez, bien que, en supposant que ce soit PHP 5.2.2+), vous devriez pouvoir le faire comme :
$now = new DateTime();
$twoPm = new DateTime();
$twoPm->setTime(14,0); // 2:00 PM
alors il suffit de demander:
if ( $now < $twoPm ){ // such comparison exists in PHP >= 5.2.2
// do this
}
sinon, si vous utilisez une version plus ancienne (par exemple, 5.0), cela devrait faire l'affaire (et est beaucoup plus simple):
$now = time();
$twoPm = mktime(14); // first argument is HOUR
if ( $now < $twoPm ){
// do this
}
Cette fonction vérifiera si c'est entre les heures en EST en acceptant 2 paramètres, tableaux avec l'heure et am/pm ...
/**
* Check if between hours array(12,'pm'), array(2,'pm')
*/
function is_between_hours($h1 = array(), $h2 = array())
{
date_default_timezone_set('US/Eastern');
$est_hour = date('H');
$h1 = ($h1[1] == 'am') ? $h1[0] : $h1[0]+12;
$h1 = ($h1 === 24) ? 12 : $h1;
$h2 = ($h2[1] == 'am') ? $h2[0] : $h2[0]+12;
$h2 = ($h2 === 24) ? 12 : $h2;
if ( $est_hour >= $h1 && $est_hour <= ($h2-1) )
return true;
return false;
}
Utilisez les fonctions time()
, date()
et strtotime()
:
if(time() > strtotime(date('Y-m-d').' 14:00') {
//...
}
Si vous souhaitez vérifier si l'heure est antérieure à 14h30, vous pouvez essayer le segment de code suivant.
if (date('H') < 14.30) {
$pre2pm = true;
}else{
$pre2pm = false;
}
Essayez avec
if( time() < mktime(14, 0, 0, date("n"), date("j"), date("Y")) ) {
// do this
}