2013-09-26 10 views

Odpowiedz

40

Możesz porównać daty z DateTime klasy PHP:

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

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

See it live!


Uwaga: Używanie DateTime klasa jest bardziej korzystne niż strtotime() ponieważ ten ostatni działa tylko dla dat przed 2038. Czytaj więcej o Year_2038_problem.

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

strtotime analizuje datę żądło korzystając these rules.

-1

@ Satch3000 pan przyjął błędną odpowiedź jako prawo rozwiązania (@Amal Murali)

proszę zobaczyć wyjście, tutaj wejścia dzisiaj data ale zwraca bieżącą datę jako minionym dniu.

<?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'; 
} 

wyjściowa będzie

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 

Rozwiązanie

$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'; 
    } 
Powiązane problemy