Как получить данные за последние 12 месяцев с часовым поясом Нью-Йорка в mysql? - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть таблица transaction с датой created в UTC, я хочу получить все данные о часовом поясе Нью-Йорка в mysql, может кто-нибудь помочь мне в этом?вот мой запрос для этого

$user_db = Common_Users_Helper::get_user_db_conn($this->session->userdata('id'), '');
$user_db->select('amount, created,MONTHNAME(created) as month, sponsorion_fees, processor_fees, amount_after_fees, SUM(amount_after_fees) as total');
$user_db->from('transaction');
$user_db->order_by('id', 'ASC');
$user_db->group_by('month');
$user_db->where('record_owner_user_id', $id);
$user_db->where('is_one_time_purchase', 'Y');
$user_db->where('created <= utc_timestamp() and created >= Date_add(utc_timestamp(),interval - 12 month)');
$query = $user_db->get();
//echo $user_db->last_query(); die;
$result = $query->result_array();

1 Ответ

0 голосов
/ 15 ноября 2018

Текущее время в Нью-Йорке можно узнать, установив часовой пояс в PHP как,

 date_default_timezone_set('America/New_York');
 $currentdatetime = date('Y-m-d H:i:s');

Затем в вашем запросе замените utc_timestamp() на $currentdatetime

$user_db->where('created <= "'.$currentdatetime.'" and created >= Date_add("'.$currentdatetime.'",interval - 12 month)');

Для отображения созданного времени в часовом поясе Нью-Йорка,

// Set based timezone as UTC
date_default_timezone_set('UTC');
$date = '2018-11-15 10:56:00';
$timestamp = strtotime($date); // create timestamp

date_default_timezone_set('America/New_York'); // Set required timezone
echo $nydate = date('Y-m-d H:i:s', $timestamp); // Convert timestamp in NY
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...