2011-12-04 20 views

答えて

4

strtotime使用が推奨されていません。これは動作するはずです:

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

世界はもう少しsprintfが必要だと私は思います。良い調子。 –

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

が、私はこれはおそらくどちらかの別の質問に答えると思いstr_pad機能を使用することをお勧めしますまたは多分ちょうどすぎます長い答え。よく分かりません。 –

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時間を受け入れ、

関連する問題