conversione data

Ciao a tutti,

ho cercato in mille modi di converite una data in formato timestamp in una data che sia leggibile.

La data che mi appare è questa :19 Jan 38 - 04:14

perchè???

 :bye:

// $inserimento è in formato timestamp

$b = date('d M y - H:i', $inserimento);

echo "DATA $b";
inviato 10 anni fa
stellina
X 0 X

Come vorresti che ti fosse mostrata?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

vorrei che forrero mostrati giorno mese anno nell'ordine riportato.

 :bye:

risposto 10 anni fa
stellina
X 0 X

Ma in numeri o a parole?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

mi bastano i numeri del tipo

26/06/2006 o 26/06/06

indifferente.

risposto 10 anni fa
stellina
X 0 X

Basta spulciare la documentazione:

http://it.php.net/date

$b = date('d/m/Y', $inserimento);

oppure:

$b = date('d/m/y', $inserimento);

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Il codice che avevo riportato interpretava cmq la data ma in maniera sbagliata non tanto nella forma (nuimeri piuttosto che parole ecc...) quanto nella sostanza visto che interpreta la data di ieri come se fosse il 19 Jan 38.

Provando con la tua soluzione non è cambiato niente tranne la forma 19/01/2038 .

La data rimane sempre sbagliata è li il problema.

 :bye:

risposto 10 anni fa
stellina
X 0 X

Allora il problema è nel contenuto della variabile $inserimento. Da dove proviene? Chi e come l'ha creata?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

la variabile $inserimento è salvata nel DB conn un campo timestamp ed ha il formato 20060627001100 ed è creata al momendo dell'inserimento del record che la contiene attraverso NOW().

 :bye:

risposto 10 anni fa
stellina
X 0 X

20060627001100 non è un timestamp ma una data senza spazi. Ecco perché la funzione date non funziona  :dunno:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

per avere il timestamp del momento in cui inserisci il record prova ad usare la funzione time()

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X
20060627001100 non è un timestamp ma una data senza spazi. Ecco perché la funzione date non funziona  :dunno:

scusa ma io avevo impostato come tipo timestamp ecco perchè facevo riferimento a timestamp.

Cmq non esiste una funzione di conversione???

 :bye:

risposto 10 anni fa
stellina
X 0 X

Quindi nella tabella MySQL il campo è di tipo timestamp? Questo tipo di campo è molto particolare e segue delle regole di inserimento e aggiornamento che bisogna conoscere bene prima di poterlo utilizzare con sicurezza. In più il suo comportamento è variato da MySQL 4.1, motivo in più per tenere gli occhi aperti:

http://dev.mysql.com/doc/refman/5.0/en/timestamp-4-1.html

Per un campo timestamp la SELECT non restituisce un timestamp in senso stretto ma qualcosa che assomiglia a una data e che non può essere convertito in un altro formato con una funzione PHP. TI consiglio quindi di effettuare la conversione direttamente all'interno della query, usando una funzione di MySQL. Ad esempio:

SELECT DATE_FORMAT(nome_campo,'%d/%m%y')

per i dettagli della funzione DATE_FORMAT vedi quì:

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda