codeigniter
CodeIgniter में टाइम ज़ोन कैसे सेट करें
खोज…
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 />";
}
कोडिग्निटर में टाइमज़ोन सेट करने का दूसरा तरीका
तिथि सहायक को बढ़ाकर कोडिग्नेटर में टाइमज़ोन निर्धारित करना एक वैकल्पिक तरीका है। ऐसा करने के लिए निम्नलिखित दो चरण गतिविधि का पालन करने की आवश्यकता है।
- निम्नलिखित समारोह के साथ तिथि सहायक बढ़ाएँ:
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);
}
}
- अब के एक मूल्य के रूप में समय क्षेत्र सेट
time_reference
कीconfig.php
की तरह:$config['time_reference'] = 'Asia/Dhaka';
यह समय क्षेत्र का उपयोग करने के लिए बिल्कुल तैयार है।
FYI करें: टाइमज़ोन सूची की सूची पहले उदाहरण में जोड़ी गई है।