PHP:显示文件被修改的时间

Bij*_*jan 3 php time

我使用以下代码来显示文件上次修改的时间

echo gmdate("d\d H\h i\m s\s", time()-filemtime(FILENAME));
Run Code Online (Sandbox Code Playgroud)

这将导致类似的结果00d 00h 15m 28s显示文件最后修改时间为 15m 之前的结果。

如果它只是零,我试图限制我可以显示的时间。即而不是00d 00h 15m 28s我希望它只是显示15m 28s

有没有一种简单的方法可以做到这一点?

The*_*ird 5

我认为您可以使用DateTime并使用setTimestamp方法来设置filemtime的时间戳。

例如:

<?php
$dateTime = new DateTime();
$dateTimeFile = new DateTime();
$dateTimeFile->setTimestamp(filemtime(FILENAME));
$interval = $dateTime->diff($dateTimeFile);
echo rtrim(
    sprintf(
        "%s%s%s%s",
        $interval->d > 0 ? $interval->d . "d " : "",
        $interval->h > 0 ? $interval->h . "h " : "",
        $interval->i > 0 ? $interval->i . "m " : "",
        $interval->s > 0 ? $interval->s . "s " : ""
    )
);
Run Code Online (Sandbox Code Playgroud)