2011-12-04 36 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功能

相关问题