2009-06-12 9 views

Répondre

7

dates/heures sont stockées dans une base MySQL de la même manière quelle que soit la façon dont ils sont mis en forme.

Je crois que ce que vous voulez faire est de récupérer la date dans un format spécifié.

DATE_FORMAT() le fera pour vous.

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

% r et T% sont de 12 heures et respectivement les formats de temps de 24 heures.

+0

J'ai essayé de donner: select time_format ('01: 56: 39 PM ','% T ') Mais il revient même 01:56:39 PM et donne une guerre comme "Valeur de temps incorrecte tronquée: '01: 56: 39 PM '" – Vicky

+2

La valeur que vous transmettez à time_format est toujours une chaîne, et mysql s'attend à faire son travail sur une valeur de date. Essayez de convertir en premier une date, comme sélectionnez time_format (str_to_date ('01: 56: 39 PM ','% r '),'% T '); – tschaible

+0

Ok mec j'ai essayé et ça a marché. Merci beaucoup – Vicky

0

Cela peut aider:

Table: records 
Column date: Type date, 
Column hours: Type string (am/pm format) 


SELECT 
date, 
hours, 
CONCAT(date, ' ', IF(LOCATE('pm',hours) > 0, ADDTIME(TIME(REPLACE(hours, ' pm','')), '12:00:00'), TIME(REPLACE(hours, ' am','')))) 
FROM records 
+1

Les convertis ci-dessus '12h30' '24: 30' juste fyi –

0

1: => print (date ("H: i: s", strtotime ("13:30")));

sortie: 13:30:00

1

Salut à tous, je pense que cela vous aidera

select STR_TO_DATE('8:25 PM', '%l:%i %p') 

le résultat sera

>20:25:00 
Questions connexes