Con questa query, come faccio a far uscire il giorno in italiano?
'%W %T %M %Y' La tua stringa vuole:
%W = nome del giorno
%T = Orario, Ora-24 (hh:mm:ss)
%M = nome del mese
%Y = Anno, numerico, 4 digits
Ovviamente ti compare una cosa del genere (ma il giorno non ti serve?):
Tuesday 12:19:21 June 2003.
Se guardi negli script che seguono il testo della pillola troverai un array numerico con i giorni ed uno con i mesi in lingua italiana.
L'indice numerico corrisponde al numerello che puo' essere estratto dal campo timestamp.
Di seguito trovi poi alcune funzioncine, una di queste estrae una data estesa da NOW() Data/ora dell'istante della query. Vediamo di adattarla alla tua richiesta:
Codice PHP:
Function DataEstesa() {
global $giorni, $mesi, $link, $today;
$action = "select year(now()) as anno, month(now())as mese, ";
$action .="dayofweek(now()) as day, date_format(now(),'%d') as giorno";
$query = mysql_query($action,$link);
$anno = mysql_result($query,0,'anno');
$mese = mysql_result($query,0,'mese');
$giorno = mysql_result($query,0,'giorno');
$day = mysql_result($query,0,'day');
return $today = $giorni[$day]." ".$giorno." ".$mesi[$mese]." ".$anno;
}
Questa funzione, in compagnia dei due array $giorni e $mesi ti rende questo:
Sabato 28 Giugno 2003
Proviamo ad adattarla al tuo bisogno mettendoci pero' anche la data:
Codice PHP:
# data odierna estesa es: Lunedì gg Mese aaaa ora hh:mm:ss
Function DataEstesa1() {
global $giorni, $mesi, $link, $today;
$action = "select year(timestamp) as anno, month(timestamp)as mese, ";
$action .="dayofweek(timestamp) as day, date_format(timestamp,'%d') as giorno, ";
$action .="date_format(timestamp, '%T') as ora FROM msg ORDER BY id DESC";
$query = mysql_query($action,$link) or die (mysql_error());
$anno = mysql_result($query,0,'anno');
$mese = mysql_result($query,0,'mese');
$giorno = mysql_result($query,0,'giorno');
$day = mysql_result($query,0,'day');
$ora = mysql_result($query,0,'ora');
return $today = $giorni[$day]." ".$giorno." ".$mesi[$mese]." ".$anno. " ore ".$ora;
}
Questa ti rendera' una data cosi' composta:
Martedì 24 Giugno 2003 ore 12:19:21
Giocando con l'impostazione dei dati di return $today puoi impostare la data come vuoi.
Quindi taglia e incolla i due array e la funzione mettendoli magari in un file che includi, e poi richiami la funzione dove ti serve, per esempio in questo modo:
echo "Oggi, ".DataEstesa1().", nella nostra citta' bla bla ...";
.DataEstesa1(). verra' sostituita dal contenuto della variabile indicata da return.