Локализировать время в php - Kohana
Я использую php и kohana framework. Ниже приведен код php, который я использую для отображения даты и времени.
$message_date = date('Y-m-d', strtotime($message->last_modified_date));
$current_date = date('Y-m-d');
$yesterday = date("Y-m-d", strtotime("yesterday"));
if ($message_date == $current_date):
$date = "Today at " . date('h:i A', strtotime($message->last_modified_date));
elseif ($message_date == $yesterday):
$date = "Yesterday";
else:
$date = date("M d, Y", strtotime($message->last_modified_date));
endif;
<span class="msg-date"><?= $date; ?></span>
Обновление: мое собственное проверенное решение
$tz = new DateTimeZone('America/Chicago');
$message_date = new DateTime($message_date);
$message_date->setTimeZone($tz);
$messagedate = $message_date->format('Y-m-d H:i:s');//converted time
Мне нужно локализовать время, которое зависит от того, какую локальную машину использует пользователь. Если пользователь, просматривающий мою страницу из "Индии", время должно корректировать с индийским временем, если ту же страницу просматривают в США или Великобритании, время следует отрегулировать с помощью США или Великобритания.
Как я могу сделать это в Kohana или PHP.
2 ответа
Вы не можете сделать это на стороне сервера (т.е. в PHP). Сервер может только читать ограниченные данные от клиента, который не включает часовой пояс региона.
Тем не менее, вы можете использовать смесь JS и PHP для этого, используя ajax-вызов, который, например, устанавливает сеанс - так же, как описано в этом вопросе.
Я считаю, что в PHP вы можете использовать время только на стороне сервера. Если вы хотите получить время / данные на стороне клиента приложения, вы должны использовать JavaScript.
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
if (minutes < 10)
minutes = "0" + minutes
document.write("<b>" + hours + ":" + minutes + " " + "</b>")
Кто-то также боролся с этой проблемой в этой теме.
Как я могу получить местное время пользователя вместо времени сервера?
Как упоминалось ранее, вы можете использовать смесь JavaScript и PHP.