Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [php]: errore nel convertire la seconda data

    Ho realizzato una form di ricerca per data, il db interrogato è in mysql, quindi la data in formato americano ma nella form di ricerca io inserisco la data in formato italiano.
    La conversione delle date da italiano ad americano avviene nella pagina in cui deve stampare il risultato. Faccio un esempio:

    Inserisco i dati nella finestra con la form di ricerca:
    Datadal: 01/04/2004
    Dataal: 30/04/2004

    Visualizzo il risultato nella seconda finestra:
    Datadal 2004/04/01
    Dataal 2006/04/30

    Come potete ben costatare l'anno della seconda data inserita diventa 2006 e non 2004 come io avevo inserito.

    Inserisco il codice per la conversione che si trova nella seconda finestra:

    codice:
    <?php
    if (($_REQUEST['datadal'] != null) && ($_REQUEST['dataal'] != null))
    {
        $datadal = date("Y/m/d", strtotime($_REQUEST['datadal']));
        $dataal = date("Y/m/d", strtotime($_REQUEST['dataal']));
    }
    ?>

  2. #2
    Uso improprio di strtotime(). Si aspetta una data in formato inglese. In descrizione testuale.

    http://it2.php.net/manual/it/function.strtotime.php



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Allora come mai la prima data funziona e la seconda no?

    Come posso fare per convertire una data da un formato ad un'altro?

    Grazie,
    ciao.

  4. #4
    Originariamente inviato da Bartjsp
    Allora come mai la prima data funziona e la seconda no?

    Come posso fare per convertire una data da un formato ad un'altro?

    Grazie,
    ciao.
    Non funziona. e' solo un caso.

    La data che tu definisci formato americano, americano non lo e', perche' americano sarebbe:

    April 1st, 2005

    Una data in formato yyyy-mm-dd e' una data in formato adatto a mysql e anche a tutti gli altri db. Questo e' il formato che dovrebbe essere inserito nella tabella mysql per usufruire agevolmente di tutte le funzioni sulle date. dd/mm/yyyy per mysql NON e' una data, ma una stringa qualsiasi.

    Per la visualizzazione utilizzando date_format potrai estrarre la data e stamparla nel formato stringa che piu' ti aggrada.

    Se hai voglia di leggere ci sono un paio di pillole e articoli sul trattamento delle date, sia con php che con mysql.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.