将MySQL DATETIME转换为PHP UNIXTIME

时间:2012-12-02 06:03:56

标签: php datetime unix-timestamp

将MYSQL Datetime转换为PHP UNIXTIME的最简单方法是什么?

示例:

来自mysql的

数据为2012-12-31 23:59:59,然后转换为UNIXTIME。

$dateTime = '2012-12-31 23:59:59'; // convert this to unixtime stamp
$unixTime = strtotime($dateTime); // this not work as expected

我已尝试strtotime,但无效。

3 个答案:

答案 0 :(得分:5)

你可以这样做:

list($date, $time) = explode(' ', $yourMySQLDateTime);
list($year, $month, $day) = explode('-', $date);
list($hour, $minute, $second) = explode(':', $time);

$timestamp = mktime($hour, $minute, $second, $month, $day, $year); 

答案 1 :(得分:2)

SELECT UNIX_TIMESTAMP(mydatefield);

$dateTime = '2012-12-31 23:59:59';
$unixTime = new DateTime($dateTime);
echo $unixTime->getTimestamp();

没有测试过,所以我已准备好进行投票了。

答案 2 :(得分:0)

strtotime无法正常工作的原因是您必须指定时区。如果你的时区是GMT,那就是

$dateTime = '2012-12-31 23:59:59';
echo strtotime($dateTime . " GMT")