Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP来echo 05,而不仅仅是5作为示例。我该怎么做?_Php_Date - Fatal编程技术网

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

使用PHP来echo 05,而不仅仅是5作为示例。我该怎么做?,php,date,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

我现在正在使用一点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";
?>


如何实现这一点?

您可以使用
str\u pad
str\u pad\u LEFT
标志

$num = 5;
echo str_pad($num, 2, "0", STR_PAD_LEFT);
使用以下代码:

$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");
将类用于时间操作:


查看格式化间隔。

您想做什么?找到时间间隔了吗?DateInterval可以实现这个str_pad函数。顺便问一下,你的PHP版本是什么?sprintf()将是另一个选项啊,很抱歉。我的PHP版本是5.2,这看起来像是我正在寻找的解决方案,但不幸的是,它杀死了整个页面。输出一个空白页。你有什么版本的PHP?你有错误报告/显示吗?我在5.2上。我找到了一个解决方案,但这让我有点困惑,因为它似乎杀死了整个页面。@RobertE,如果你有错误报告,你就会明白为什么整个页面都被杀死了。diff()表示PHP>=5.3.0。刚刚升级;-)当我使用它时,出于某种奇怪的原因,它输出0450而不是05。有什么想法吗?
stru pad
的输入是什么?输入只是“4”。在重新使用它之后,它现在输出“0444”。我是个白痴。我忘了加上“:”,所以它把分钟和小时分组在一起。哈哈。它现在工作得很好。谢谢你的帮助,好先生!
DateInterval Object
(
    [y] => 0
    [m] => 0
    [d] => 2
    [h] => 0
    [i] => 0
    [s] => 0
    [invert] => 0
    [days] => 2
)
02
$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