खोज…


CodeIgniter में टाइम ज़ोन कैसे सेट करें

रखने की date_default_timezone_set('Asia/Kolkata'); आधार URL के ऊपर config.php पर भी काम करता है।

समर्थित समय क्षेत्रों की PHP सूची

आवेदन / config.php

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

date_default_timezone_set('Asia/Kolkata');

एक और तरीका जो मुझे उपयोगी लगा वह यह है कि यदि आप प्रत्येक उपयोगकर्ता के लिए एक समय क्षेत्र निर्धारित करना चाहते हैं:

  • एक MY_Controller.php फ़ाइल बनाएँ।

  • अपनी user तालिका में एक कॉलम बनाएं, आप इसे टाइमज़ोन या किसी भी चीज़ का नाम दे सकते हैं जिसे आप चाहते हैं। इस तरह, जब उपयोगकर्ता अपने समय क्षेत्र का चयन करता है, तो लॉगिन करते समय इसे अपने टाइमज़ोन पर सेट किया जा सकता है।

आवेदन / कोर / MY_Controller.php

<?php

class MY_Controller extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->set_timezone();
    }

    public function set_timezone() {
        if ($this->session->userdata('user_id')) {
            $this->db->select('timezone');
            $this->db->from($this->db->dbprefix . 'user');
            $this->db->where('user_id', $this->session->userdata('user_id'));
            $query = $this->db->get();
            if ($query->num_rows() > 0) {
                date_default_timezone_set($query->row()->timezone);
            } else {
                return false;
            }
        }
    }
}

इसके अलावा, PHP में टाइम ज़ोन की सूची प्राप्त करने के लिए:

 $timezones = DateTimeZone::listIdentifiers(DateTimeZone::ALL);

 foreach ($timezones as $timezone) {
    echo $timezone;
    echo "<br />";
 }

कोडिग्निटर में टाइमज़ोन सेट करने का दूसरा तरीका

तिथि सहायक को बढ़ाकर कोडिग्नेटर में टाइमज़ोन निर्धारित करना एक वैकल्पिक तरीका है। ऐसा करने के लिए निम्नलिखित दो चरण गतिविधि का पालन करने की आवश्यकता है।

  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_reference की config.php की तरह: $config['time_reference'] = 'Asia/Dhaka';

यह समय क्षेत्र का उपयोग करने के लिए बिल्कुल तैयार है।

FYI करें: टाइमज़ोन सूची की सूची पहले उदाहरण में जोड़ी गई है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow