2011-12-04 68 views

回答

4

strtotime用法是氣餒。這應該工作:

echo sprintf('%03d', date('z')); 
+2

我想,世界需要更多的衝刺。很好。 –

0
function pad_date($date) { 
    $mydate = date('z', $date); 
    return str_repeat("0", 3-strlen($mydate)).$mydate; 
} 

echo pad_date(time())."\n"; // today 
echo pad_date(time() - (100 * 24 * 60 * 60))."\n"; // 100 days ago 
echo pad_date(time() - (200 * 24 * 60 * 60))."\n"; // 200 days ago 
echo pad_date(time() - (300 * 24 * 60 * 60))."\n"; // 300 days ago 
echo pad_date(time() - (335 * 24 * 60 * 60))."\n"; // 335 days ago 
+0

我認爲這可能是要麼回答不同的問題也許是太很長的答案。我不確定。 –

1

如果沒有這樣的功能,我的做法,以這樣的數值填充的需求通常要做到這一點:

$three_digit_day_num_string = substr('000' . date('z', $timestamp), -3); 
3
function pad_date($date) 
{ 
    return str_pad(date('z', $date), 3, '0', STR_PAD_LEFT); 
} 

這是更好地接受UNIX時間在功能上面,並使用str_pad功能

相關問題