Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: confronto date

  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    confronto date

    $data1= "22/10/2009";
    print "
    ".$data1 ."-- " . date('d M Y',$data1) . " -- ". date('d M Y') ;


    --> 22/10/2008-- 01 Jan 1970 -- 08 Feb 2009


    Perchè si trasforma in 01 Jan 1970 ?
    2000 post e sono più vecchio di 4 anni...
    grazie a tutti....

  2. #2
    Ti suggerisco di iniziare leggendo il manuale ufficiale:

    http://www.php.net/date

    Con particolare attenzione al tipo del secondo parametro.

  3. #3
    Il metodo date accetta come secondo parametro un intero che rappresenti il tempo trascorso dal 1 gennaio 1970 in secondi (http://it2.php.net/date).

    Tu invece passi una stringa $data1 che contiene una data nel formato italiano.

    Ora, non so cosa vuoi ottenere, però ti mostro un pezzo di codice come il tuo che ipotizza la data $data1 in formato aaaa-mm-gg, come solitamente memorizzata in un db mysql

    Codice PHP:
    $data1"2009-10-22";
    print 
    "
    $data1 "-- " date('d M Y'strtotime($data1)) . " -- "date('d M Y') ; 
    Fammi sapere cosa ottieni. Dovrebbe restituire

    codice:
    2009-10-22 -- 22 Oct 2009 -- 08 Feb 2009

  4. #4
    Originariamente inviato da eumene
    Tu invece passi una stringa $data1 che contiene una data nel formato italiano.
    Come da manuale:

    strtotime() Parse about any English textual datetime description into a Unix timestamp

  5. #5
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    ok...

    ottengo
    2008-10-22-- 22 Oct 2008 -- 08 Feb 2009

    ma se faccio un controllo condizionale...

    if (date('d M Y', strtotime($data1)) < date('d M Y') )
    {
    echo " Data inizio inferiore ad oggi ";
    exit();
    };

    Non ottengo la risposta sperata...
    2000 post e sono più vecchio di 4 anni...
    grazie a tutti....

  6. #6
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    devi confronatare le date nel formato Y M d

    come fai tu, dato che php confronta la stringa

    31 10 2008 è maggiore di 02 01 2009

    se invece invertiamo il formato

    2008 10 31 è minore si 2009 01 02

  7. #7
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    quindi il confronto dovrò farlo sempre con questo formato ?
    Y M d intendo ?
    2000 post e sono più vecchio di 4 anni...
    grazie a tutti....

  8. #8
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Originariamente inviato da agenti
    quindi il confronto dovrò farlo sempre con questo formato ?
    Y M d intendo ?
    pardon Y m d

    M ti ritorna il mese in formato testuale, mentre m in cifre

  9. #9
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    perdonatemi ancora...

    $data1="2009-02-12"
    $data2="2009-02-10"

    // formato yyyy-mm-dd


    if ( date('Y m d', strtotime($data2)) >= date('Y m d', strtotime($data1) ))
    {
    echo " Data fine superiore o uguale alla data di inizio ad oggi ";
    exit();
    };

    non ottengo risposta...


    2000 post e sono più vecchio di 4 anni...
    grazie a tutti....

  10. #10
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Originariamente inviato da agenti
    perdonatemi ancora...

    $data1="2009-02-12"
    $data2="2009-02-10"

    // formato yyyy-mm-dd


    if ( date('Y m d', strtotime($data2)) >= date('Y m d', strtotime($data1) ))
    {
    echo " Data fine superiore o uguale alla data di inizio ad oggi ";
    exit();
    };

    non ottengo risposta...


    scusa, ma se $data1 e $date2 sono già nel formato corretto, perchè fai quel giro con date e strtotime?

    Codice PHP:
    if ( $data2 >= $data1 
    in ogni caso non ti da alcun risultato in quanto $data2 è minore di $data1

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 © 2025 vBulletin Solutions, Inc. All rights reserved.