使用PHP来回显05而不仅仅是5作为示例。我该怎么做呢?

时间:2013-01-18 16:40:39

标签: php date

我现在正在使用一些PHP输出在特定日期之前剩余的天数,小时数,分钟数和秒数。它效果很好,但截至目前,它将输出如下:14:5:33:36

理想情况下,如果它小于10,我希望它输出05而不是仅仅5.我知道这在PHP中必须相当简单,但作为一个前端开发人员...我只是不能完全包裹我的大脑围绕着这个。以下是我目前使用的代码:

<?
    $rem = strtotime('2013-02-01 14:00:00') - time();
    $day = floor($rem / 86400);
    $hr  = floor(($rem % 86400) / 3600);
    $min = floor(($rem % 3600) / 60);
    $sec = ($rem % 60);
    if($day)
        echo "$day:";
    if($hr)
        echo "$hr:";
    if($min)
        echo "$min:";
    if($sec)
        echo "$sec";
?>

如何实现这一目标?

3 个答案:

答案 0 :(得分:4)

您可以将str_padSTR_PAD_LEFT标记一起使用。

$num = 5;
echo str_pad($num, 2, "0", STR_PAD_LEFT);

答案 1 :(得分:0)

使用以下代码:

$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo "<pre>";
print_r($interval);
echo $interval->format("%D");

使用format()可以格式化输出;

输出如下:

DateInterval Object
(
    [y] => 0
    [m] => 0
    [d] => 2
    [h] => 0
    [i] => 0
    [s] => 0
    [invert] => 0
    [days] => 2
)
02

答案 2 :(得分:0)

使用DateTime课程进行时间操作:

$future = new DateTime('2013-01-20 14:00:00');
$now = new DateTime('now');
echo $future->diff($now)->format('%D:%H:%I:%S'); # outputs 01:20:08:12

查看DateInterval::format格式化间隔。