Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    confrontare due date con strtotime

    Ciao a tutti,
    spero che dal titolo si capisca la mia esigenza.

    Uso questo codice per confrontare una data in formato stringa con la data corrente.

    Vorrei il conforto di qualcuno più esperto sulla corretteza del codice.

    Codice PHP:

       $dataCorrente  
    date("Y-m-d");

        if (
    strtotime("2009-12-31") > strtotime($dataCorrente))
             ... 
    ecc
    e se la data stringa fosse uguale nel formato "31-12-2009" cosa succederebbe?
    Dalle mie prove sembra che non ci siano differenze.

    Grazie a tutti
    Guidino

  2. #2

    Re

    La pratica è il criterio che da valore alla verità.
    Webmaster sitoesitiweb.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Guarda che non sei su un forum di filosofia.

    Io il mio codice l'ho già fatto girare e funziona ma vorrei sapere se l'uso di strtotime("2009-12-31") è corretto.

    Se tu non vuoi rispondere stai fuori dalla discussione.
    Guidino

  4. #4
    Il caso che hai citato nel primo messaggio funziona perche' non c'e' ambiguita' tra giorno e mese. Non sono sicuro di come strtotime() interpreti una data come "3/4/2009", se cioe' prenda 3 aprile o 4 marzo. Credo che in quel caso la legga "all'europea", cioe' 3 aprile, pero' magari controlla la pagina di documentazione per sicurezza.

  5. #5

    Re

    Ufff sei permaloso, volevo dire que ti da il risultato giusto perchè stai passando la data nel formato giusto, strtotime asume la data SEMPRE in formato inglese, se la passi diversamente, ad esempio 2008-30-4, non funziona.
    Webmaster sitoesitiweb.it

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    ed io ti ringrazio della risposta.

    Sei stato chiaro ed ho capito.


    Guidino

  7. #7

    Re: Re

    Originariamente inviato da roilld
    Ufff sei permaloso, volevo dire que ti da il risultato giusto perchè stai passando la data nel formato giusto
    parzialmente corretto



    Originariamente inviato da roilld
    strtotime asume la data SEMPRE in formato inglese, se la passi diversamente, ad esempio 2008-30-4, non funziona.
    sbagliato




    strototime prende la data anche in formato yyyy-mm-dd (americano?!?), anglosassone;
    l'unica è che fa casino con la data nel formato italiano perchè molto simile a quello anglosassone
    (visto che scambiano mese con il giorno)
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  8. #8
    mi correggo da solo: strtotime accetta anche molti altri formati
    vedi http://it.php.net/strtotime per altri esempi
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

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.