codeigniter
Hur man ställer in tidszon i CodeIgniter
Sök…
Hur man ställer in tidszonen i CodeIgniter
Placera date_default_timezone_set('Asia/Kolkata');
på config.php
ovan bas-URL fungerar också.
PHP- lista över tidszoner som stöds
application / config.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
date_default_timezone_set('Asia/Kolkata');
Ett annat sätt som jag har hittat användbart är om du vill ställa in en tidszon för varje användare:
Skapa en
MY_Controller.php
fil.Skapa en kolumn i din
user
så kan du namnge den tidszon eller vilken sak du vill. Så på det sättet, när användaren väljer sin tidszon, kan den ställas in på hans tidszon vid inloggning.
application / kärna / 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;
}
}
}
}
För att få en lista över tidszoner i PHP:
$timezones = DateTimeZone::listIdentifiers(DateTimeZone::ALL);
foreach ($timezones as $timezone) {
echo $timezone;
echo "<br />";
}
Ett annat sätt att ställa in tidszon i kodignern
Att ställa in tidszonen i Codeigniter genom att förlänga datumhjälpen är ett alternativt sätt. För att göra det måste följa följande tvåstegsaktivitet.
- Förläng datumhjälpen med följande funktion:
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
nu tidszonen som ett värde påtime_reference
förconfig.php
som:$config['time_reference'] = 'Asia/Dhaka';
Detta är inställt för att använda tidszon.
FYI: Lista över tidszonlista läggs till i det första exemplet.