首先,需要看你的php時區配置參數
方式1:更改php配置文件,然后從其fast-cgi或者php調用的地方;
方式2:date_default_timezone_set('PRC');
date函數用於日期函數的獲取,這里需要注意的,date得到的我們可以理解為概念時間,跟地區有關系。如北京時間和倫敦時間同一個時刻對應不同的時間有8小時的時差,北京時間早8小時。
time和strtotime得到的是物理時間,不存在和地區的聯系,全球統一。
在項目有需要計算1970開始的第幾天,這里就出現了問題。用時間秒去算的時候。
北京時間2016-01-14 4:00:00和2016-01-13 13:00:00得到同一個時間。
所以用strtotime轉換到時間戳是內部有減去地區時間差的操作。
// 1970年1月1日至今的天數, 生成courseVideoGUID用, 截取16位
$currentTimeStamp = time();
p($currentTimeStamp);
$currentTimeStamp = ($currentTimeStamp - ($currentTimeStamp % 86400)) / 86400;
$currentTimeStamp = ($currentTimeStamp & 0xFFFF);
p($currentTimeStamp);
// 1970年1月1日至今的天數, 生成courseVideoGUID用, 截取16位
$currentTimeStamp = strtotime(date('Y-m-d H:i:s'));
p($currentTimeStamp);
$currentTimeStamp = ($currentTimeStamp - ($currentTimeStamp % 86400)) / 86400;
$currentTimeStamp = ($currentTimeStamp & 0xFFFF);
p($currentTimeStamp);
// 1970年1月1日至今的天數, 生成courseVideoGUID用, 截取16位
$currentTimeStamp = strtotime('2016-04-14 07:00:00');
p($currentTimeStamp);
$currentTimeStamp = ($currentTimeStamp - ($currentTimeStamp % 86400)) / 86400;
$currentTimeStamp = ($currentTimeStamp & 0xFFFF);
p($currentTimeStamp);