2012-12-02 54 views
1

将MYSQL日期时间转换为PHP UNIXTIME的最简单方法是什么?将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,但它不能正常工作。

+0

粘贴您的代码 – GBD

+1

MySQL具有'UNIX_TIMESTAMP'功能。 – hobbs

+0

什么是PHP UNIXTIME类型?我一直把我的时间戳存储为整数。 –

回答

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); 
2
SELECT UNIX_TIMESTAMP(mydatefield); 

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

没有测试它,所以我已经为downvotes准备好了。

+0

请参阅我的问题的评论,我需要它在PHP中完成。不是mysql查询。 – GusDeCooL

+0

@GusDeCooL最好的办法是通过MySQL查询而不是PHP。 –

+0

@WaleedKhan为什么? – GusDeCooL

0

为什么预期strtotime是行不通的原因是因为你必须指定时区。如果您的时区是GMT,它将是

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