2009-06-12 17 views

Antwort

7

Daten nutzen könnten/Times in mysql gespeichert sind, auf die gleiche Weise, unabhängig davon, wie sie formatiert sind.

Ich glaube, was Sie tun möchten, ist das Datum in einem bestimmten Format abrufen.

Das DATE_FORMAT() wird dies für Sie tun.

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

% R und% T sind 12 Stunden und 24 Stunden-Zeitformate sind.

+0

Ich habe versucht zu geben: select time_format ('01: 56: 39 PM ','% T ') Aber es ist die gleiche Rückkehr 01:56:39 PM und geben eine kriegerische wie "Verkürzte inkorrekte Zeit Wert: '01: 56: 39 PM '" – Vicky

+2

Der Wert, den Sie an time_format übergeben, ist immer noch eine Zeichenkette, und mysql erwartet, dass es mit einem Datumswert arbeitet. Versuchen Sie zuerst, zu einem Datum zu konvertieren, wie zB select time_format (str_to_date ('01: 56: 39 PM ','% r '),'% T '); – tschaible

+0

Ok dude ich versuchte und es hat funktioniert. Vielen Dank – Vicky

0

helfen Dies kann:

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

Das obige konvertiert "12:30 Uhr" zu "24: 30" nur fyi –

0

1: => Drucken (Datum ("H: i: s", strtotime ("01.30")));

Ausgabe: 13:30:00

1

Hallo zusammen ich denke, das wird Ihnen helfen

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

das Ergebnis sein wird

>20:25:00 
Verwandte Themen