7
votes

PHP Comparez les valeurs DateTime

Dans mon application PHP, j'essaie de comparer les valeurs temporelles de date comme les suivantes:

if($datetime_from_db < date('Y-m-d H:i:s'))
{
    // then do something
}


0 commentaires

3 Réponses :


22
votes

comparer une chaîne string forte> comme "2011-02-14 15:46:00" code> à une autre string forte> ne comparait pas Dates Strong>, il compare deux chaînes selon String Analysing Rules numériques . Vous devrez comparer les horodatages numériques réels:

strtotime($datetime_from_db) < time()


2 commentaires

Donc, je peux faire: strtotime ($ DateTime_from_db)


@DTN oui, mais strtotime (date ('ymd h: i: s')) est la même que heure () .



10
votes

Si vous voulez que cela fonctionne avec les dates du 2038, vous ne pouvez pas utiliser StrtOTIME () ou TIME ().

voir Cette question pour l'explication.

Une meilleure approche:

Nouvelle dateTime ($ DateTime_from_db)


0 commentaires

0
votes

Cela peut vous aider.

$today = date("m-d-Y H:i:s");
$thisMonth =date("m");
$thisYear = date("y");
$expectedDate = $thisMonth."-08-$thisYear 23:58:00";
//pr($today);
//pr($expectedDate);


    if (strtotime($expectedDate) > strtotime($today)) {
        echo "Expected date is greater then current date";
        return ;
    } else
        {
         echo "Expected date is lesser then current date";
        }


0 commentaires