Формат filemtime() в человеческой дате

Как я могу отобразить, например, Сегодня или Вчера, если файл был изменен сегодня или вчера вместо даты с filemtime?

пропущено:

$date = date('d-m-Y', $timestamp);
$today = date('d-m-Y');
$yesterday = date('d-m-Y', strtotime('yesterday')); 
$otherdate= get_the_date();

$file= 'index.php';
$time= filemtime ( $file);

Спасибо!

2 ответа

Попробуй это

define( 'DAY_IN_SECONDS', 24*60*60 );

$file = 'index.php';
$time = filemtime( $file );
$today_start_at = strtotime(date('Y-m-d'));
$yesterday_start_at = $today_start_at - DAY_IN_SECONDS;

if( ($time - $today_start_at) >= 0 ){
    // Today
    echo 'Today';
}elseif ( ($time - $yesterday_start_at) >= 0 ) {
    // Yesterday
    echo 'Yesterday';
}else{
    // N days ago
    $days_ago = floor( (time() - $time)/DAY_IN_SECONDS );
    echo "{$days_ago} days ago";
}

Вы почти там. Просто нужно добавить форматер в filemtime и сравните с сегодняшней и вчерашней датами:

$date = date('d-m-Y', $timestamp);
$today = date('d-m-Y');
$yesterday = date('d-m-Y', strtotime('yesterday')); 
$otherdate= get_the_date();

$file= 'index.php';
$time= date('d-m-Y', filemtime($file));

if( $time == $today ) {
    echo 'Modified Today';
} else if( $time == $yesterday ) {
    echo 'Modified Yesterday';
}
Другие вопросы по тегам