2016-01-03 3 views
-1

Я попросил фрилансер, чтобы преобразовать дату в моих исходных данных (Bulletin Дата: 18/09/2015), чтобы быть в 18-SEP-2015Отметка тип данных в MYSQL DB

Но позже я узнал, что приложение который будет читать эту БД (используя ODBC), требует, чтобы дата была форматом TIMESTAMP. (Код в PHP)

$text = file_get_contents($name); 
$date = getbetween($text, "Bulletin Date : ", "\n"); 
$date = substr($date, 0, 11); 
$date = explode("/", $date); 
$date = $date[0] . "-" . $date[1] . "-" . $date[2]; 
$date1 = mktime(0, 0, 0, $date[1], $date[0], $date[2]); 
$date = date("Y-m-d H:i:s", $date1); 

Кроме того, в моей БД MySQL я установить поле DATE с типом данных: TIMESTAMP

Теперь, когда я загрузить данные в моей БД, используя приведенный выше код я получаю «1970- 01-01 01:00:00 "для поля даты во всех отчетах.

Почему дата в БД испортилась?

+0

Вы говорите, что вы «загружаете данные в мою БД, используя приведенный выше код». Я интерпретирую это, чтобы означать, что вы загружаете данные из базы данных с помощью этого кода, когда на основе кода я ожидаю, что код загрузит данные из файла в базу данных. Не могли бы вы точно описать, какие изменения вы внесли, и где именно вы видите неправильные поля даты? – bytesized

ответ

0

Вы никогда явно не говорили, что используете PHP, но я предполагаю, что вы с тех пор, как используете PHPMyAdmin, и ваш код выглядит как PHP.

Ответ на вопрос 2 кажется очень простым. Если вам нужны данные в формате TIMESTAMP, то я предполагаю, что это означает, что вам нужен тип данных TIMESTAMP в PHPMyAdmin.

Чтобы преобразовать дату в этот формат, вы можете использовать

$timestamp = mktime($hours, $minutes, $seconds, $month. $day, $year) 
// If the date does not contain a time, set $hours, $minutes, and 
// $seconds to zero: 
// $timestamp = mktime(0, 0, 0, $month. $day, $year) 
$mysql_timestamp = date("Y-m-d H:i:s", $timestamp) 

Смотрите документацию по TIMESTAMP datatype и date() function.

+0

Я внедрил ваши предложения, и на основе результатов я обновил вопрос. Не могли бы вы рассказать мне, почему я получаю дату «1970-01-01 01:00:00» для всех записей в БД? –

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