如何以3位数格式显示年份,以便1月1日不是“1”,而是“001”?
我很好奇是否实现了这样的功能(类似于日期('zzz')),所以我必须处理日期('z')并检查它是否小于100,10?
答案 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