WebSite X5Help Center

 
Andrea P.
Andrea P.
User

Conversione data gg/mm/aaaa  it

Autore: Andrea P.
Visite 377, Followers 2, Condiviso 0  

Buongiorno,

ho creato una tabella nel database in cui un campo è nel formato data.

Inserisco i dati tramite il "modulo di contatto" (ho selezionato il tipo di immissione dal campo data nel formato AAAA/MM/GG per far si che corrisponda con il formato data di mysql.

estraggo i dati dal database ordinandoli per data.

Ora, però, quando  non riesco a visualizzare sul sito la data nel formato itaiano  GG/MM/AAAA

https://www.ismaelegatti.it/prove-.php

come posso fare per convertire il formato della data ?

Ho cercato nel web e pare che la soluzione sia l'utilizzo del comando date_format. ho provato a scriverlo così, ma non funziona:

if (isset($val[$qdata]) && $val[$qdata] != '') {
echo '<br><br><span class="outputgrandeoro">' . $val[date_format($qdata ,'d/m/Y')] . '</span>' . "\n";
}

Postato il
4 RISPOSTE - 1 UTILE - 1 CORRETTO
Giorgio C.
Giorgio C.
User

Devi lasciare che il programma crei la tabella indicando, per il campo data, il formato che vuoi tu.

In questo modo sarà tutto coincidente senza dover convertire i formati nell'utilizzo.

Quindi cancella la tabella, falla riscrivere a website dopo aver impostato il form data come imposta la data come GG/MM/AAAA.

Leggi di più
Postato il da Giorgio C.
Andrea P.
Andrea P.
User
Autore
Giorgio C.
Quindi cancella la tabella, falla riscrivere a website dopo aver impostato il form data come imposta la data come GG/MM/AAAA.

Ciao Giorgio,
in realtà questa è stata la prima soluzione che ho adottato, poi ,però, mi sono reso conto che cosi facendo nel database le date vengono salvate in un campo testo e se le ordini , l'ordinamento segue le regole dell'ordine alfabetico. Dunque se ad esempio hai 06/05/2020 , 04/06/2021, e 07/08/2022 avrai questo risultato :

04/06/2021 

06/05/2020

07/08/2022

che è il corretto ordine alfabetico.

Pertanto ho cambiato il tipo di campo nel database e di conseguenza modificato  il tipo di inserimento sul modulo contatti per farli combaciare. (Infatti il sistema americano già di suo mantiene l'ordinamento corretto delle date anche nell'ordine alfabetico semplicemente perchè prima mette l'anno poi il mese e poi il giorno . Ad es se vuoi che una serie di file in una cartella mantenga un certo ordine cronologico basterà che all'inizio del nomefile tu inserisca la data nel formato americano). 

Così mantengo l'ordine cronologico, ma ora ci vuole un codice che mi inverta la data in visualizzazione sul web.

Leggi di più
Postato il da Andrea P.
Giorgio C.
Giorgio C.
User

Capisco...

Io ho optato per una conversione con una funzione php che richiamo quando leggo la data nel DB

$data= data_it($Data); //richiamo funzione di conversione della data letta inglese ($Data) in data italiana ($data)


function data_it($data)
{
// Creo una array dividendo la data YYYY-MM-DD sulla base del trattino
$array = explode("-", $data);

// Riorganizzo gli elementi in stile DD/MM/YYYY
$data_it = $array[2]."/".$array[1]."/".$array[0];

// Restituisco il valore della data in formato italiano
return $data_it;
}

Leggi di più
Postato il da Giorgio C.
Andrea P.
Andrea P.
User
Autore

Ho fatto svariati tentativi ma sono riuscito ad utilizzare il codice che mi hai proposto 

con il senno di poi probabilmente sbagliavo  il nome di una variabile.

alla fine con qualche ricerca ho messo assieme questo che mi fa apparire anche il nome del mese in italiano:

if (isset($val[$qdata]) && $val[$qdata] != '') {

// Converto data in formato gg/mm/aaaa

$mesi = array(
1 => 'gennaio',
2 => 'febbraio',
3 => 'marzo',
4 => 'aprile',
5 => 'maggio',
6 => 'giugno',
7 => 'luglio',
8 => 'agosto',
9 => 'settembre',
10 => 'ottobre',
11 => 'novembre',
12 => 'dicembre'
);

$dataConvert = date_create($val[$qdata] );

$gg = date_format($dataConvert ,'d ');

$numero_mese = date_format($dataConvert ,'n');
$mm = $mesi[$numero_mese];


$aaaa = date_format($dataConvert ,' Y ');


echo '<br><br><span class="outputgrandeoro">' . $gg . $mm . $aaaa . '</span>' . "\n";
}

Grazie comunque, perchè sempre "da cosa nasce cosa"  e ogni confronto mi permette di crescere nella capacità di gestire questo codice php di cui 15 giorni  fa non sapevo nulla 

Leggi di più
Postato il da Andrea P.