2013-09-26 11 views

risposta

40

È possibile confrontare le date con la classe di PHP DateTime:

$date = new DateTime($event['date']); 
$now = new DateTime(); 

if($date < $now) { 
    echo 'date is in the past'; 
} 

See it live!


Nota: L'uso DateTime classe è preferibile rispetto strtotime() in quanto quest'ultimo funzionerà solo per le date prima del 2038. Leggi altro su Year_2038_problem.

1
if (time() > strtotime($event['date'])) 
{ 
    // current date is greater than 2013-07-31 
} 

strtotime analizza la puntura data utilizzando these rules.

-1

@ Satch3000 Hai accettato la risposta sbagliata come una soluzione giusta (@Amal Murali)

Si prega di vedere l'output, Qui inserire la data di oggi, ma restituisce la data corrente come data passata.

<?php 

/* Enter today date */ 
$date = new DateTime("09/14/2017"); 
$now = new DateTime(); 

print_r($date); 

print_r($now); 


if($date < $now) { 
    echo 'date is in the past'; 
} 

uscita sarà

DateTime Object 
(
    [date] => 2017-09-14 00:00:00.000000 
    [timezone_type] => 3 
    [timezone] => UTC 
) 
DateTime Object 
(
    [date] => 2017-09-14 07:12:52.000000 
    [timezone_type] => 3 
    [timezone] => UTC 
) 
date is in the past 

Soluzione

$Date1 = strtotime(date('Y-m-d', strtotime('2017-09-15'))).' '; 
$Date2 = strtotime(date('Y-m-d')); 

    if($Date1 < $Date2) { 
     echo 'date is in the past'; 
    } 
Problemi correlati