Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

208
Vistas
PHP Checking if outputted date is less than current date

I have the following function which works well but would like to check the returned date and compare with the current date if before current date to show something if current or in future show as normal.

Function:

function dateFormat( $old, $correction ) {
    $old_date_timestamp = strtotime( $old );
    $new_date = date( 'jS F Y', $old_date_timestamp + $correction );
    return $new_date;
}

Call:

echo '<li class="list-group-item">Support Expires: ' . dateFormat($purchase_data['verify-purchase']['supported_until'], 11*60*60 . '</li>');

Output:

2nd March 2016

So as not today's date and/or before today's date would like to echo a message, else just show the date.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

In PHP it is very simple to compare two different dates using < = > like you normally compare numbers. The only step prior to this is below:

//Tell PHP that the value in variable is a date value
$date_1 = date_create("2017-05-29"); //This value can be any valid date format
date_1_formatted = date_format($date_1, "Y-m-d"); //This formats the date_1

//Now you can simply put the second date, for example, today.
$date_2 = date_create("2017-04-29"); //This value can be any valid date format
date_2_formatted = date_format($date_2, "Y-m-d"); //This formats the date_1

//For current date, it is simpler
$date_today_formatted = date("Y-m-d");

//Now you can compare these two dates easily
if ($date_1 < $date_today_formatted) {
    echo "Date 1 falls before today.";
}
else {
    echo "Date 1 falls after today.";
}

Hope this helps!

over 4 years ago · Santiago Trujillo Denunciar

0

I managed to work it out using the following 2 functions:

function dateFormat( $old, $correction ) {
    $old_date_timestamp = strtotime( $old );
    $new_date = date( 'jS F Y', $old_date_timestamp + $correction );
    return $new_date;
}

function checkLicenceSupport($licence_date) {
    $date_now = new dateTime();
    $date_set = dateFormat($licence_date, 11*60*60);

    if ($date_now > $date_set) {
      return 'date expired';
    } else {
      return 'date valied';
    }
}
over 4 years ago · Santiago Trujillo Denunciar

0

I have the following function which works well, but would like to check the returned date and compare with the current date.

If it is before the current date, show something.

If it is the current date, or in future, show as normal.

I needed to rewrite your question, because lack of grammar and punctuation made it confusing. No offense intended.

  • Your call code has the closing parenthesis for your function call is placed wrongly.

    dateFormat($purchase_data['verify-purchase']['supported_until'], 11*60*60)

  • It is more readable to use full days or hours (in seconds):

    11*86400 //(11 Days);

    11*3600 //(11 Hours);

The function and code, as you have it now, will always return a date in the future of the date you've submitted via the call. (I can't tell from your question whether this was intended or not).

Currently, there is no "comparison" in your function. But your question indicates you want to compare the submitted date to the current date and then do something in certain cases.

If you are going to use a Unix timestamp, then there's no need for multiple formatting, compare the two dates in Unix, then format the result.

function dateCompare($submittedDate){
    //This is only needed if your submitted date is not a unix timestamp already
    $submittedDate = strtotime($submittedDate); 

    $currentDate = time(); // Creates timestamp of current datetime

    if($submittedDate < $currentDate) {
        //show something i.e. return "Support Has Expired";
    }else {
        return date('jS F Y', $submittedDate);
    }
}

echo '<li class="list-group-item">Support Expires: '.dateCompare($purchase_data['verify-purchase']['supported_until']).'</li>';
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda