codeigniter
Hoe de tijdzone in te stellen in CodeIgniter
Zoeken…
Hoe de tijdzone in te stellen in CodeIgniter
date_default_timezone_set('Asia/Kolkata');
plaatsen date_default_timezone_set('Asia/Kolkata');
op config.php
boven basis-URL werkt ook.
PHP Lijst met ondersteunde tijdzones
application / config.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
date_default_timezone_set('Asia/Kolkata');
Een andere manier die ik nuttig heb gevonden, is als je een tijdzone voor elke gebruiker wilt instellen:
Maak een
MY_Controller.php
bestand.Maak een kolom in uw
user
, u kunt deze een tijdzone noemen of wat u maar wilt. Dus op die manier kan de gebruiker, wanneer hij zijn tijdzone selecteert, zijn tijdzone instellen bij het inloggen.
application / kern / 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;
}
}
}
}
Om de lijst met tijdzones in PHP te krijgen:
$timezones = DateTimeZone::listIdentifiers(DateTimeZone::ALL);
foreach ($timezones as $timezone) {
echo $timezone;
echo "<br />";
}
Een andere manier om tijdzone in codeigniter in te stellen
Het is een alternatieve manier om de tijdzone in Codeigniter in te stellen door de datumhelper uit te breiden. Om dat te doen, moet u de volgende tweestapsactiviteit volgen.
- Verleng datumhelper met de volgende functie:
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);
}
}
- Stel nu de tijdzone in als een waarde van
time_reference
vanconfig.php
zoals:$config['time_reference'] = 'Asia/Dhaka';
Dit is allemaal ingesteld voor het gebruik van de tijdzone.
Ter info: lijst met tijdzonelijst is toegevoegd in het eerste voorbeeld.