Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    100

    Problema con funzione conversione data

    Ciao a tutti, ho il seguente problema che non riesco a risolvere:

    avendo questa funzione che trasforma la data dal formato sql a quello italiano

    <?
    $date=$datiform["DAL"];
    $new_date=date("d M Y", strtotime($date));
    ?>

    ho il problema che se il campo da cui recupera i dati per esegure la conversione, è vuoto mi restituisce come valore 01 gennaio 1970

    qualcuno riesce a spiegarmi il perchè ed eventualmente come risolvere ?

    Anticipatamente grazie a tutti.

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    var_dump($date);

    che dice ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    100
    mi da string 11 0000.00.00 01 jan 1970
    boh

  4. #4
    scusa ma mettere un IF che controlla se il campo è vuoto e allora non esegue la funzione modifica data?

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    100
    si ci ho pensanto anche io ma il problema e che in questo db i dati sono stati importati da msaccess tramite csv per cui il campo data non è mai vuoto ma quasi sempre uguale a 0000.00.00 e io non sono riuscito nell'if a passargli il valore della stringa.

    Purtroppo sono limitato e ti chiedo di scusarmi

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    ti da quella data quando la stringa di data passata e' errata. E la data iniziale per php e' 1 1 1970.

    QUindi devi eseguire un controllo sulla data prima di fare qualsiasi altra cosa.

    quella var da dove arriva ?

    non mi hai messo il dump che ho chiesto

    codice:
    $date=$datiform["DAL"];
    var_dump($date);

  7. #7
    Se fai cosi?
    Codice PHP:
    function convertidata($date) {
    list(
    $y$m$d) = explode("."$date);
    return 
    "$d/$m/$y";
    }

    echo 
    convertidata($datiform["DAL"]); 

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    E aridaje con sti explode ..... no se la data che esce dal db e' sbagliata quella funzione non opera correttamente :

    1- non esegue i dovuti controlli
    2- non gestie la data come DateTime
    3- (nota assolutamente personale) odio vedere le date gestite in questo modo oggi che abbiamo la classe DateTime !!!

  9. #9
    Hai ragione però leggo che DateTime() è presente dalla versione 5.3 in poi di php

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    si vero, ma se il tuo hoster non ti da almeno la 5.3 io cambierei

    Cmq se non puoi amen ti toccca usare le funzioni come da te proposte... ma se puoi .... usa la DateTime ... non ho mai scritto codice cosi' pulito con gestione date e tc....

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.