Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Convertire la data e l'ora memorizzate nel DB

    Ciao a tutti,
    ho un piccolo problema che sicuramente per voi sarà una sciocchezza....

    Allora, il problema riguarda la data e l'ora memorizzate nel DB e la loro conversione nel formato italiano, ovvero: 03/08/2006
    Generalmente per ottenere tale risultato (03/08/2006) utilizzo questo codice, che inserisco nella query:

    codice:
    DATE_FORMAT(data, '%d/%m/%Y') as data_it
    Il mio problema è che mi servirebbe anche l'ora nel formato: 11:25 . Il record in cui è memorizzata la data e l'ora è unico e del tipo DATETIME e naturalmente il DB è un Mysql.

    E' possibile, quindi ottenere, sia la data che l'ora nel formato in uso in Italia? Faccio questa domanda perchè a me servirebbe fare una cosa del genere:

    codice:
    Commento inviato il  03/08/2006 alle ore 11:25
    Basta un solo record del tipo DATETIME oppure ne devo per forza fare due, cioè uno in cui memorizzo la data e l'altro l'ora???

    Grazie in anticipo e ciao ciao

  2. #2
    codice:
    SELECT *,
    DATE_FORMAT(campo_datetime, 'Commento inviato il  %d/%m/%Y alle ore %h:%i') as string
    FROM tabella
    WHERE ...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Ummmmmm... il fatto è che volevo mettere in grassetto, per farli risaltare di più, sia la data che l'ora....... quindi non è possibile ricavare due variabili, cioè una per la data e una per l'ora?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    $query = mysql_query("select date_format(dataora,'%d/%m/%Y %H:%i') as dataora from...

    Una volta recuperata la data fai un explode e hai le tue due variabili

    list($data,$ora) = explode(' ',$dataora);

    echo "Commento inviato il $data alle ore $ora";

  5. #5
    Originariamente inviato da spiadadda
    Ummmmmm... il fatto è che volevo mettere in grassetto, per farli risaltare di più, sia la data che l'ora....... quindi non è possibile ricavare due variabili, cioè una per la data e una per l'ora?
    non conosci l'uso del tag [b] ?????

    codice:
    SELECT *,
    DATE_FORMAT(campo_datetime, 'Commento inviato il %d/%m/%Y alle ore %h:%i') as string
    FROM tabella
    WHERE ...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da piero.mac
    non conosci l'uso del tag [b] ?????

    codice:
    SELECT *,
    DATE_FORMAT(campo_datetime, 'Commento inviato il %d/%m/%Y alle ore %h:%i') as string
    FROM tabella
    WHERE ...



  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    La soluzione di piero funziona sicuramente.

    Tuttavia, se parliamo di 'pulizia del codice', non è molto "carino" andare a infilare del codice html in una query (ad es. se si lavora con un sistema a template). Per cui si potrebbe rispondere alla tua domanda
    non è possibile ricavare due variabili, cioè una per la data e una per l'ora?
    dicendo "sì, è possibile in questo modo":

    codice:
    SELECT *,
    DATE_FORMAT(campo_datetime, '%d/%m/%Y') as data,
    DATE_FORMAT(campo_datetime, '%h:%i') as ora
    FROM tabella
    WHERE ...
    In questo modo il campo in tabella è sempre lo stesso, ma in output alla query hai due campi 'data' e 'ora' che potrai utilizzare come ti pare per la visualizzazione

  8. #8
    Grazie a tutti per i consigli!

    Ciao Ciao

  9. #9
    Ragazzi scusatemi, ma avrei un'altra domanda da sottoporvi.

    Ho fatto così come vi avete consigliato, ma ho notato una cosa.....cioè ho provato a fare una prova e ho notato che mi da l'ora sbagliata. Più precisamente se inserisco un commento adesso, quando vado ad estrapolare l'ora dal DB invece di darmi le 15:18 mi da le 03:18 . E' possibile risolvere questo inconveniente? In questo modo le persone potrebbero pensare che il commento sia stato inserito alle 03:18 di notte e non del pomeriggio.
    Ho controllato anche nel DB e l'ora li viene memorizzata nella maniera corretta, ovvero: 15:18 . Dove sbaglio? Perchè accade ciò? Io ho utilizzato il codice di luca200

    Grazie ancora per i vostri preziosi consigli!

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Usa la H maiuscola nella query anzichè quella minuscola.

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.