如何选择不同时区的日期?
Posted
技术标签:
【中文标题】如何选择不同时区的日期?【英文标题】:How to select date in different timezone? 【发布时间】:2020-07-25 07:13:27 【问题描述】:我想根据存储在数据库中的时区将查询结果中的日期转换为(非洲/开罗)时区 例如,我想获取 (s_start) 并将其从 (Europe/London) 转换为 (Africa/Cairo),但在选择查询本身中(因为我从查询结果 event.start 打印事件日期)。 我的控制器:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class EventCalendar_model extends CI_Model
function get_event_list()
$aa = ($this->session->userdata(id));
$this->db->select('s_timezone,u_name,s_id,s_student,s_tutor,
UNIX_TIMESTAMP(s_start)*1000 as start ');
$this->db->select('s_start as start');
$this->db->from('sessions');
$this->db->where("s_tutor", $aa );
$this->db->join('users', 'sessions.s_student = users.u_id');
$query = $this->db->get($this->event);
if ($query)
return $query->result();
return NULL;
【问题讨论】:
this answer 呢? 我的问题正在使用 jquery 事件日历,它从查询结果中获取 s_start 并在 js 函数中回显它,所以我需要从查询结果中回显转换后的时区 s_start 我无法回显像 $date 这样的 php 变量。 您可以创建一个函数来转换时区。我更新了代码。 【参考方案1】:希望以下查询对您有所帮助。
SELECT UNIX_TIMESTAMP(CONVERT_TZ(`s_start`, '+02:00', @@session.time_zone)) as africa_cario_time FROM `table_name`
【讨论】:
以上是关于如何选择不同时区的日期?的主要内容,如果未能解决你的问题,请参考以下文章