PHP倒数计时器显示小时错误

问题描述 投票:0回答:1

我正在创建一个简单的计时器,它与两个日期不同,输出如:20天5小时23分钟。一切都工作正常,当差异不是比月份差,但是当我尝试大的差异时,天和分钟显示好,但小时总是+1小时。如何解决?

function countdownTimer($targetTime) {
  $targetTime = DateTime::createFromFormat('Y-m-d H:i:s',$targetTime);
  $currentTime = new DateTime();
  $timeDifference = $targetTime->diff($currentTime);

  return $timeDifference->format("%a days %H hours %i minutes");    
}
php datetime timer countdown
1个回答
1
投票

可能是因为PHP占据了夏令时,而且它正在迎来一年中的这个时候。我尝试了你的代码,一切似乎都很好:

function countdownTimer($targetTime) {
  $targetTime = DateTime::createFromFormat('Y-m-d H:i:s',$targetTime);
  $currentTime = new DateTime();
  $timeDifference = $targetTime->diff($currentTime);

  return $timeDifference->format("%a days %H hours %i minutes");    
}

$targetTime = date_create("@".time())->add(date_interval_create_from_date_string("+1 month"))->format('Y-m-d H:i:s');

var_dump(countdownTimer($targetTime));
© www.soinside.com 2019 - 2024. All rights reserved.