年度日期:日期('z')+ 1; (1..366)(001..366)格式

时间:2011-12-04 21:37:40

标签: php date

如何以3位数格式显示年份,以便1月1日不是“1”,而是“001”?

我很好奇是否实现了这样的功能(类似于日期('zzz')),所以我必须处理日期('z')并检查它是否小于100,10?

4 个答案:

答案 0 :(得分:4)

不鼓励使用

strtotime。这应该有效:

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

答案 1 :(得分:3)

function pad_date($date)
{
    return str_pad(date('z', $date), 3, '0', STR_PAD_LEFT);
}

最好在上面的函数中接受UNIX时间并使用str_pad函数

答案 2 :(得分:1)

如果没有这样的功能,我对这种数字填充需求的方法通常是这样做的:

$three_digit_day_num_string = substr('000' . date('z', $timestamp), -3);

答案 3 :(得分: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