236 votes

PHP - Comparer la date

J’ai suivant

Je voudrais comparer cette date contre la date du jour (c'est-à-dire, je voudrais savoir si cette `` est avant aujourd'hui ou est égal à aujourd'hui ou pas)

Quelle fonction dois-je utiliser ?

307voto

Tyler Carter Points 30030
 strtotime($var);
 

Le transforme en valeur de temps

 time() - strtotime($var);
 

Vous donne les secondes depuis $var

 if((time()-(60*60*24)) < strtotime($var))
 

Vérifie si $var a été dans le dernier jour.

229voto

Bobby Jack Points 7574

Ce format convient parfaitement à une comparaison de chaînes standard, par exemple

 if (date1 > date2)
 

C'est la beauté de ce format: il ordonne bien. Bien sûr, cela peut être moins efficace, en fonction de vos circonstances exactes, mais cela peut aussi être beaucoup plus pratique et conduire à un code plus facile à gérer - nous aurions besoin d'en savoir plus pour vraiment prendre cette décision.

62voto

Alix Axel Points 63455

Voici:

 function isToday($time) // midnight second
{
    return (strtotime($time) === strtotime('today'));
}

isToday('2010-01-22 00:00:00.0'); // true
 

En outre, certaines fonctions d'aide:

 function isPast($time)
{
    return (strtotime($time) < time());
}

function isFuture($time)
{
    return (strtotime($time) > time());
}
 

47voto

kamakazuu Points 171

Pour compléter BoBby Jack, l'utilisation de l'Objet DateTime, si vous avez php 5.2.2+:

 if(new DateTime() > new DateTime($var)){
    // $var is before today so use it

}
 

13voto

Hassaan Points 1

$ toBeComparedDate = '2014-08-12';
$ today = (nouveau DateTime ()) -> format ('Ym-d'); // utilise le format que vous utilisez
$ expiry = (nouveau DateTime ($ toBeComparedDate)) -> format ('Ym-d');

var_dump (strtotime ($ today)> strtotime ($ expiry)); // faux ou vrai

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X