2014-04-03 93 views
1

我有一個PHP代碼,到現在爲止顯示天數計數器,我需要把每個號碼到SPAN或DIV像這樣:裹日期跨越或DIV

<div class="one">1</div> <div class="two">5</div> <div class="three">2</div> <div class="four">6</div> 

我的代碼:

<?php 
function dateDiff($start, $end) { 
$start = strtotime($start); 
$end = strtotime($end); 
$diff = $end - $start; 
return round($diff/86400); 
} 
echo dateDiff("2010-01-30", date('Y-m-d')).' d.' ; 
?> 
+0

你需要這是隻從函數返回? –

+0

你能解釋一下這些div分別是什麼值嗎? – krishna

+0

我只需要從日期年前得到日期計數,例如從2010.01.30開始,我的腳本將返回1524天,現在我需要將每個數字都放到div中,我想分開數字以便能夠使用CSS對它們進行樣式設置 – Newcomer

回答

-1
<div class="year"><?php echo dateDiff("2010-01-30", date("Y")) ?></div> 
<div class="month"><?php echo dateDiff("2010-01-30", date("m")) ?></div> 
<div class="day"><?php echo dateDiff("2010-01-30", date("d")) ?></div> 
+0

我想不是。 '2014 - 2010-01-30''? –

0

看看http://www.php.net/manual/en/datetime.diff.php

$dStart = new DateTime('2010-01-30'); 
$dEnd = new DateTime(date('Y-m-d')); 
$dDiff = $dStart->diff($dEnd); 

$dDiff將是一個DateInterval對象,所以你可以這樣做:

echo '<div class="year">' . $dDiff->y . '</div> <div class="month">' . $dDiff->m . '</div> <div class="day">' . $dDiff->d . '</div>'; 

我會推薦這種方法比試圖給自己計算出的值,因爲它是很難計算到底有多少個月過去了,多少額外天剩餘之後。

DateInterval對象也有財產days與兩個日期之間的全天數。用法:echo $dDiff->days;

PHP5.3 +必需。

+0

Thanx,但輸出看起來像這樣:4 2 4,這不是確切天數從2010-01-30 – Newcomer

+0

@Newcomer here 4 2 4意味着4年2個月和4天left.And這樣你問的權利? – krishna

+1

@Newcomer克里希納是正確的,也更新了我的回答,以反映您的評論 –

3

使用DateTime,這是非常簡單的

$d1 = new DateTime('2010-01-30'); 
$d2 = new DateTime(date('Y-m-d'));//use same format that was used in d1 
$diff = $d2->diff($d1); 

//code to display number of days into seperate digits 
$str = "".$diff->days; 
$size = strlen($str); 
$i=0; 
while($i<$size) 
{ 
echo "<div>$str[$i]</div>"; 
$i++; 
}