我正在尝试设置数据库条目的过期时间。我已将该字段设置为datetime
并通过 MySQL 手动输入了一些值
我从表中获取值并将其转换为strtotime()
. 然后我得到当前时间使用strtotime("now")
; 或time()
;他们似乎返回相同的值。
然后我取未来日期(来自数据库的日期)并使用 if 语句检查它是否小于当前时间,如果是,我将其设置为过期。如果它仍然大于当前时间,我会返回还剩多少时间..
这是代码:
$time_left = "";
$value['ex_date'] = '2012-11-22 18:17:33';// this is whats in the DB now.
$future_time = strtotime($value['ex_date']);
$now_time = strtotime('now');
if($deal_end < $now_time){
$time_left = 'Expired';
}else{
$seconds = $future_time - $now_time;
$days = floor($seconds / 86400);
$seconds %= 86400;
$hours = floor($seconds / 3600);
$seconds %= 3600;
$minutes = floor($seconds / 60);
$seconds %= 60;
if($days >= 1) {$time_left .= "D:$day ";}
if($hours >= 1) {$time_left .= "H:$hours ";}
if($minutes >= 1) {$time_left .= "M:$minutes ";}
if($seconds >= 1) {$time_left .= "S:$seconds ";}
由于某种原因,上述方法效果不佳。它就像有一些时间差距。
我的问题是:有没有办法检查服务器时间与数据库时间?
因为由于strtotime('now');
某种原因,时间似乎与当前时间温度相差 2/3 小时。