Получить дату и преобразовать ее в указанный c часовой пояс в соответствии с часовым поясом пользователя - PullRequest
1 голос
/ 06 апреля 2020

Я хочу получить дату из базы данных (s_start) и преобразовать ее в Specifi c как часовой пояс (Африка / Каир) в соответствии с часовым поясом пользователя из базы данных (s_timezone). Я могу получить только оригинальную дату, сохраненную в базе данных, и я могу преобразовать результат Код моего контроллера:

$this->db->select('s_id');    
$this->db->select('s_start');    
$this->db->from('sessions');

$query = $this->db->get($this->event);
    if ($query) {
        return $query->result();
    }
    return NULL;

enter image description here

html код:

          <div id="cal-slide-content" class="cal-event-list">
          <ul class="unstyled list-unstyled">
        <% _.each(events, function(event) { %>
        <li>
            <span class="pull-left event <%= event['s_start'] %>"> 
         </span>&nbsp;
            <a href="" data-event-id="<%= event.id %>"
                data-event-class="<%= event['class'] %>" class="event- 
              item">
                <%= event.s_start %>&nbsp;<%= event.u_timezone %>&nbsp; 
                (<%= event.u_name %>)&nbsp;
                 </a>

      </li>
       <% }) %>
   </ul>

}

1 Ответ

1 голос
/ 07 апреля 2020
$date = new DateTime($result->s_start, new DateTimeZone($result->s_timezone));
$date->setTimezone(new DateTimeZone('Africa/Cairo'));
echo $date->format('Y-m-d H:i:sP') ;

Ресурсы

Редактировать Функция в контроллере для преобразования часовых поясов.

public function _convert_time($result){
    $date = new DateTime($result->s_start, new  DateTimeZone($result->s_timezone));
    $date->setTimezone(new DateTimeZone('Africa/Cairo'));
    return $date->format('Y-m-d H:i:sP') ;
}

Теперь вы можете повторить результат

foreach($results as $result){
    echo $this->_convert_time($result);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...