MYSQL DB中的时间戳数据类型

时间:2016-01-03 17:30:14

标签: mysql datetime

我让我的自由职业者将原始数据中的日期(公告日期:2015年9月18日)转换为18-sep-2015

但后来我发现读取这个数据库的应用程序(使用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数据库中,我已使用数据类型:TIMESTAMP

设置DATE字段

现在,当我使用上面的代码在我的数据库中加载数据时,我得到" 1970-01-01 01:00:00"用于所有记录中的日期字段。

为什么数据库中的日期搞砸了?

1 个答案:

答案 0 :(得分:0)

您从未明确表示您使用的是PHP,但我认为您使用的是PHPMyAdmin并且您的代码看起来像PHP。

问题2的答案似乎很容易。如果您需要TIMESTAMP格式的数据,那么我认为这意味着您需要PHPMyAdmin中的TIMESTAMP数据类型。

要将日期转换为该格式,您可以使用

$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 datatypedate() function的文档。