Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Confronto date

  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    1,927

    Confronto date

    Ho una data in questo formato:
    28 Nov 2018 09:00:29 +0100

    Devo verificare se quella data sia presente nelle ultime 24 ore!

    Ho trovato questa funzione che sottrae due date e mi da la differenza di giorni:
    codice:
    $data1 = new DateTime("2017-04-13");
    $data2 = new DateTime("2017-04-15");
    $interval = $data1->diff($data2);
    echo $interval->format('%R%d giorni');
    Per me sarebbe perfetta, ma non riesco ad adattarla al formato della mia data.
    Sonia

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    526
    Guardati questa funzione: http://php.net/manual/en/datetime.createfromformat.php

    Puoi impostare il formato della data in ingresso come vuoi, così da adattarlo al tuo caso.

  3. #3
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    1,927
    Grazie!
    Con la funzione che mi hai dato ho messo le date nello stesso formato e per assicurarmene ho questo echo:

    dataora: '28 Nov 2018 11:20:49' datamail: '28 Nov 2018 09:00:29'

    Il formato è il medesimo, gli apici li ho messi a mano per verificare che non ci siano spazi prima e dopo.
    Quando però vado a fare:
    codice:
    $interval = $dataora->diff($datamail);
    Ho l'errore su quella riga: fatal error: Call to a member function diff() on a non-object

    Io vorrei solo verificare data la data e ora corrente se la mail è arrivata nelle ultime 24 ore!
    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    526
    Probabilmente sbagli il formato e la funzione ti restituisce false, così funziona:

    codice:
    $data1 = DateTime::createFromFormat('j M Y H:i:s', '28 Nov 2018 11:20:49');
    $data2 = DateTime::createFromFormat('j M Y H:i:s', '28 Nov 2018 09:00:29');
    $interval = $data1->diff($data2);
    echo $interval->format('%R%d giorni');

  5. #5
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    1,927
    FUNGEEEEEEEE!!!
    Grazie

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.