我现在正在使用一些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";
?>
如何实现这一目标?
答案 0 :(得分:4)
您可以将str_pad
与STR_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格式化间隔。