2016-10-20 4 views
0

Хорошо, я не кодер, мне нужно сделать небольшую корректировку php на строке кода и потратили много часов, пытаясь понять, как это сделать. Существует много учебников о формате времени в php, но я не могу найти ответ на мою необходимость.Изменение формата выходного времени в вычислении даты php

У меня есть эта строка кода в приложении:

<span class="muted">Expires in <?=(now() > $l->list_expires) ? 'Closed' : timespan(now(),$l->list_expires)?></span> 

я обнаружил, что «» list_expires столбец MySQL с UNIX даты времени в будущем, то есть 1479350850. код вычисляет время от теперь до будущей даты и выводит результат следующим образом: Coija.com Истекает через 4 недели, 1 день, 21 час, 30 минут

Я хочу показать результат короче, например, Срок действия истекает через 29 дней, а если это меньше одного дня, «истекает через 13 часов» или «истекает через 10 минут». Другой вариант - «осталось 29 дней».

Я знаю, что первая часть проверяет, закончилось ли время, и выдает «закрытые», но прямо сейчас, если он закрыт, выход: «Истекло в закрытом». Как я могу показать «Истек», если «закрыто» должно быть показано?

Любая помощь была бы принята с благодарностью. Спасибо

+0

'Если (истёк) {не показывают замкнутый}' –

ответ

0

Извините, я обнаружил, что «timespan» здесь не является командой php, а функцией в скрипте. Прямо сейчас, я начинаю играть с этим, чтобы увидеть результаты.

Благодарим за терпение.

0

Вот пример функции TimeSpan:

function timespan ($current_time, $list_expires) { 
    /** The formatted time span */ 
    $formatted_timespan = ""; 
    /** The difference between the current time and list expires */ 
    $time_difference = ($current_time - $list_expires); 
    /** If the time difference is greater than 1 day */ 
    if ($time_difference > (3600*24)) { 
     /** The number of days */ 
     $day_count   = floor($time_difference/(3600*24)); 
     $formatted_timespan = "Expires in " . $day_count . " days"; 
    } 
    /** If the time difference is less than 1 day but larger than 1 hour */ 
    else ($time_difference < (3600*24) && $time_difference > (3600)) { 
     /** The number of hours */ 
     $hour_count   = floor($time_difference/(3600)); 
     $formatted_timespan = "Expires in " . $hour_count . " hours"; 
    } 
    /** If the time difference is less than 1 hour */ 
    else ($time_difference < (3600)) { 
     /** The number of minutes */ 
     $minute_count  = floor($time_difference/(60)); 
     $formatted_timespan = "Expires in " . $minute_count . " minutes"; 
    } 
    return $formatted_timespan; 
} 
Смежные вопросы