1月1日が "1"ではなく "001"になるように年の日付を3桁の形式で表示する方法は?年の日番号:日付( 'z')+1; (001..366)フォーマットの(1..366)
このような関数が実装されているかどうかは、date( 'zzz')のようなものかどうかに関わらず、日付( 'z')で作業して100,10 ?そのような機能がない場合
1月1日が "1"ではなく "001"になるように年の日付を3桁の形式で表示する方法は?年の日番号:日付( 'z')+1; (001..366)フォーマットの(1..366)
このような関数が実装されているかどうかは、date( 'zzz')のようなものかどうかに関わらず、日付( 'z')で作業して100,10 ?そのような機能がない場合
strtotime
使用が推奨されていません。これは動作するはずです:
echo sprintf('%03d', date('z'));
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
が、私はこれはおそらくどちらかの別の質問に答えると思いstr_pad
機能を使用することをお勧めしますまたは多分ちょうどすぎます長い答え。よく分かりません。 –
、このような数値パディングニーズへの私のアプローチは、これを行うには、通常は次のとおりです。
$three_digit_day_num_string = substr('000' . date('z', $timestamp), -3);
function pad_date($date)
{
return str_pad(date('z', $date), 3, '0', STR_PAD_LEFT);
}
上記のような機能でUNIX時間を受け入れ、
世界はもう少しsprintfが必要だと私は思います。良い調子。 –