magomac Inviato 20 Settembre 2009 Segnala Condividi Inviato 20 Settembre 2009 Ciao a tutti, sto lavorando con un database che non ho creato io (viene da un vecchio programma) dove le date di nascita sono salvate come "numero di giorni trascorsi dal 30/12/1899". Ora che questo database è diventato un db mysql, come faccio, nelle pagine PHP che mostrano i dati, a mostrare la data in un formato decente? Bisogna anche considerare che il timestamp unix, che normalmente uso io per salvare le date, non raggiunge il 1899..... Grazie... Link al commento Condividi su altri siti Altre opzioni di condivisione...
Cicciokr Inviato 21 Settembre 2009 Segnala Condividi Inviato 21 Settembre 2009 ma la data come è salvata?? cioè nel database.. come compare? perchè io salvo le date con un semplice now() oppure non so l'insieme di tre variabili e quindi mi compaiono semlici numeri... poi ci sono altri modi di salvarle.. li compare percaso una serie di num? Link al commento Condividi su altri siti Altre opzioni di condivisione...
magomac Inviato 21 Settembre 2009 Autore Segnala Condividi Inviato 21 Settembre 2009 nel database è salvata come cifra (solitamente di 5 cifre) che indica IL NUMERO DI GIORNI TRASCORSI DAL 30/12/1899. Non chiedermi chi abbia avuto questa grande idea.... non ti dico quanto ci ho messo solo a capire il criterio.... vedevo questi numeri di 5 cifre senza senso.... Link al commento Condividi su altri siti Altre opzioni di condivisione...
m@rco Inviato 21 Settembre 2009 Segnala Condividi Inviato 21 Settembre 2009 l'unica è convertirla, sommando i giorni alla data di origine e poi usare le solite funzioni per la gestione delle date. Volendo puoi farti uno script e cambiarla direttamente all'interno del database, però devi sapere esattamente dove viene usata per evitare casotti Link al commento Condividi su altri siti Altre opzioni di condivisione...
magomac Inviato 21 Settembre 2009 Autore Segnala Condividi Inviato 21 Settembre 2009 Grazie a tutti, comunque sono riuscito.... alla fine è stato più facile del previsto.... Se a qualcuno interessasse ho fatto così: $dnascita = $datiTesserato->dnascita; //converto data di nascita in formato decente // ora è salvata come numero di giorni trascorsi dal 30/12/1899 (voglio l'autografo del programmatore che l'ha pensato ;-) ) //sottraggo al numero 25569 in modo da trasformare la data come i giorni trascorsi dal 1/1/1970 $dnascita = $dnascita - 25569; //moltiplico il valore per 86400 (secondi in un giorno) e trovo il timestamp della data di nascita $dnascita = $dnascita*86400; //ci dovremmo essere! $dnascitaTesserato=$dnascita; //esplodo data di nascita $dnTessGiorno=date('d',$dnascitaTesserato); $dnTessMese=date('m',$dnascitaTesserato); $dnTessAnno=date('Y',$dnascitaTesserato); $dnTess_Vis = $dnTessGiorno.'/'.$dnTessMese.'/'.$dnTessAnno; Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.