получить текущую дату и время в Codeigniter - PullRequest
0 голосов
/ 20 августа 2010

Как я могу получить текущую дату и время в представлении в Codeigniter?

Спасибо.

РЕДАКТИРОВАТЬ: я пытаюсь вычесть текущую дату / время изопубликованная дата / время и отображаемая как "опубликовано x дней назад"

Ответы [ 3 ]

3 голосов
/ 20 августа 2010

Я использую этот помощник для Codeigniter (вы можете увидеть оригинал здесь: форумы по Codeigniter )

Я использую этот код:

    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

if( ! function_exists('relative_time'))
{
    function relative_time($datetime)
    {
        if(!$datetime)
        {
            return "no data";
        }

        if(!is_numeric($datetime))
        {
            $val = explode(" ",$datetime);
            $date = explode("-",$val[0]);
            $time = explode(":",$val[1]);
            $datetime = mktime($time[0],$time[1],$time[2],$date[1],$date[2],$date[0]);
        }

        $difference = time() - $datetime;
        $periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
        $lengths = array("60","60","24","7","4.35","12","10");

        if ($difference > 0)
        {
            $ending = 'ago';
        }
        else
        {
            $difference = -$difference;
            $ending = 'to go';
        }
        for($j = 0; $difference >= $lengths[$j]; $j++)
        {
            $difference /= $lengths[$j];
        }
        $difference = round($difference);

        if($difference != 1)
        {
            $period = strtolower($periods[$j].'s');
        } else {
            $period = strtolower($periods[$j]);
        }

        return "$difference $period $ending";
    }


}

Я неконечно, если вы всегда хотите, чтобы он говорил «дни», этот код выполняет все, что меньше всего (например, «49 секунд назад», «17 минут назад», «6 часов назад» или «10 дней назад», илинедели или месяцы (или даже годы). Если вы ищете только дни, изменить этот сценарий будет достаточно просто.

0 голосов
/ 02 октября 2014

вы можете сделать так

$d1 = new DateTime("2013-07-31 10:29:00");
$d2 = new DateTime("2013-08-02 5:32:12");
echo $d1->diff($d2)->days;
0 голосов
/ 20 августа 2010

Для этого вы можете использовать простую функцию php date ...

<?php echo date("F j, Y, g:i a"); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...