代码之家  ›  专栏  ›  技术社区  ›  pixeltocode

检索Codeigniter中的当前日期和时间

  •  0
  • pixeltocode  · 技术社区  · 14 年前

    如何在Codeigniter中检索视图中的当前日期和时间?

    编辑:我想做的是从发布的日期/时间中减去当前的日期/时间,并将其显示为“发布x天前”

    3 回复  |  直到 14 年前
        1
  •  3
  •   Matthew    14 年前

    我将此帮助程序用于Codeigniter(您可以在此处看到原文: codeigniter forums )

    我使用这个代码:

        <?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";
        }
    
    
    }
    

        2
  •  0
  •   vikmalhotra    14 年前

    您可以使用简单的php函数date来实现。。。

    <?php echo date("F j, Y, g:i a"); ?>
    
        3
  •  0
  •   Hilarius L. Doren    10 年前

    $d1 = new DateTime("2013-07-31 10:29:00");
    $d2 = new DateTime("2013-08-02 5:32:12");
    echo $d1->diff($d2)->days;