2012-12-02 89 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")