在 codeigniter 中设置时区的另一种方法

通过扩展日期助手来设置 Codeigniter 中的时区是另一种方法。为此,需要遵循以下两步活动。

  1. 使用以下函数扩展日期助手:
if ( ! function_exists('now'))
{
    /**
    * Get "now" time
    *
    * Returns time() based on the timezone parameter or on the
    * "time_reference" setting
    *
    * @param    string
    * @return    int
    */
    function now($timezone = NULL)
    {
        if (empty($timezone))
        {
            $timezone = config_item('time_reference');
        }
        if ($timezone === 'local' OR $timezone === date_default_timezone_get())
        {
            return time();
        }
        $datetime = new DateTime('now', new DateTimeZone($timezone));
        sscanf($datetime->format('j-n-Y G:i:s'), '%d-%d-%d %d:%d:%d', $day, $month, $year, $hour, $minute, $second);
        return mktime($hour, $minute, $second, $month, $day, $year);
    }
}
  1. 现在将时区设置为 time_referencetime_reference 的值,如:$config['time_reference'] = 'Asia/Dhaka';

这是为使用时区设置的。

仅供参考: 第一个示例中添加了时区列表。