2014-10-31 2 views
0

'19/10/2013 2:41'Как принимать даты ввода времени в формате ДД/ММ/ГГГГ чч: мм в MySQL

У меня есть огромный набор данных в таком формате, который я хочу вставить в мой стол. Но я думаю, 'YYYY-MM-DD HH:MM:SS' - это формат для datetime.

Любые решения?

+0

define 'dataset'. От куда это? какой формат? – Sebas

+0

Данные находятся в формате 'csv'. Я преобразовываю его в mysql 'insert' запросы с помощью онлайн-инструментов. формат даты равен 'dd/mm/yyyy hh: mm' – pizzaEatingGuy

ответ

0

Вы можете использовать функцию php preg_split().

<?php 
    $myDate = '19/10/2013 2:41'; 
    $split = preg_split('/[\/\s]/',$myDate); 
    $formattedDate = $split[2] . '-' . $split[1] . '-' . $split[0] . ' ' . $split[3]; 
    echo $formattedDate; 
?> 
+0

, как вы знаете, что это php? – Sebas

0

Поскольку ваш вклад является строка в виде 03.09.13, я буду считать (так как сегодня 31 сентября 2014), что это дд-мм-гггг. Вы можете преобразовать его в дату, используя STR_TO_DATE:

STR_TO_DATE(myVal, '%d/%m/%y') 

Затем вы можете отформатировать его обратно в строку, используя DATE_FORMAT:

DATE_FORMAT(STR_TO_DATE(myVal, '%d/%m/%y'), '%Y-%m-%d') 

Обратите внимание, что год% г (в нижнем регистре «у») в STR_TO_DATE и% Y (верхний регистр «Y») в DATE_FORMAT. В нижнем регистре для двухзначных лет, а в верхнем регистре - четырехзначные годы.

Смежные вопросы