如何在PHP中获得自0年以来的天数?

jod*_*ell 1 php date date-math

它相当于MySQL to_days()函数.

是否有内置PHP函数可以执行此操作,还是需要将某些内容拼凑在一起?

Joh*_*nde 7

你需要自己写,但这并不难:

$now = new DateTime();
$zero = new DateTime('0000-00-00'); // -0001-11-30 - Nov 30, 1 BC. Interesting.
$diff = $now->diff($zero);
echo $diff->format('%a days'); // 735728 days
Run Code Online (Sandbox Code Playgroud)

演示使用文字年零.你显然希望在那里放一个有效的日期.

$now = new DateTime();
$zero = new DateTime('0001-01-01'); 
$diff = $now->diff($zero);
echo $diff->format('%a days'); // 735330 days
Run Code Online (Sandbox Code Playgroud)

演示

作为一个班轮:

echo (new DateTime())->diff(new DateTime('0001-01-01'))->format('%a days');
Run Code Online (Sandbox Code Playgroud)

作为一个功能:

function toDays($date) {
    return (new DateTime())->diff(new DateTime($date))->format('%a');
}
Run Code Online (Sandbox Code Playgroud)