如何更新 "strtotime" 格式

How to update "strtotime" format

我正在使用 PHP 创建倒计时功能。考虑到服务器端倒计时的限制,它确实工作得很好,但格式与我想要实现的不同。

我使用以下代码来实现:

<?php
date_default_timezone_set('Europe/London');
$date = strtotime("November 22, 2017 12:01 AM");
$remaining = $date - time();

if ($remaining > 0) {
    $days_remaining = floor($remaining / 86400);
    $hours_remaining = floor(($remaining % 86400) / 3600);
    $minutes_remaining = floor(($remaining % 3600) / 60);
}
?>

并使用以下方式输出:

<div class="category-countdown">
    <? if ($remaining > 0) { ?>

    <div class="category-countdown--left">{{end-day}}</div>
    <div class="category-countdown--right">
      <div class="category-countdown__timer">
              <?= $days_remaining ?> : <?= $hours_remaining ?> : <?= $minutes_remaining ?>
      </div>
      <div class="category-countdown__annotation">days : hours : minutes</div>
    </div>
    <? } ?>
</div>

当前格式为:1(天):3(小时):5(分钟)

我想要实现的是:01(天):03(小时):05(分钟)

你能帮帮我吗?

你可以这样使用str_pad()

str_pad($var, 2,'0',STR_PAD_LEFT);

将此应用于:

   $days_remaining  = str_pad(floor($remaining / 86400), 2,'0',STR_PAD_LEFT);
   $hours_remaining     = str_pad(floor(($remaining % 86400) / 3600), 2,'0',STR_PAD_LEFT);
   $minutes_remaining   = str_pad(floor(($remaining % 3600) / 60), 2,'0',STR_PAD_LEFT);
if ($remaining > 0) {
$days_remaining = floor($remaining / 86400);
$days_remaining = sprintf('%02d', $days_remaining);
$hours_remaining = sprintf('%02d', floor(($remaining % 86400) / 3600));
$minutes_remaining = sprintf('%02d', floor(($remaining % 3600) / 60));

}