Как задать отсчет времени от указаного?

239
12 декабря 2017, 20:48

Как начать отсчет от заданного времени. Для чего нужно? На хостинге у меня сейчас 12:00 а у моего друга 04:00 утра.

Хочу вывести себе такую строчку, у друга сейчас 04:00 чтобы быть в курсе какое у него сейчас время.

Например в переменную занесу текущее время друга $drug = "04:00"; а дальше что то ничего не приходит на ум.

Answer 1

Как-то так, надеюсь поможет:

<?php
  date_default_timezone_set("UTC"); //по Гринвичу, можно опустить
  $time = time(); //текущее время на сервере
  $offset = 4; //смещение для друга
  $time += $offset * 3600; //его реальное время
  echo date("Y-m-d H:i:s", $time);

На самом деле, гуглится за одну минуту.

Answer 2

Я сделал такое решение. Может пригодится кому.

Получаю смещение время при помощи JQuery.

<script>
$(document).ready(function () {
   a = new Date().getTimezoneOffset() / 60;
   $("#timezone").val(a);   
});
</script>

Деле вставляю значение в скрытое поле которое находится у меня в форме авторизации.

<input type="hidden" name="timezone" id="timezone" value ="" />

Дальше работаю с PHP. Просто где проверка данных с формы авторизации делаю еще не большую проверку.

        if(isset($_POST["timezone"])) { 
            if($pr_ruser["timezone"] == "") {
                $timezone = $_POST["timezone"];
                $prruser_id = $pr_ruser["id"];
                $query_update = "UPDATE users SET timezone = '$timezone' WHERE id='$prruser_id'";
                $update_update = mysqli_query($db, $query_update) or die("Ошибка: " . mysqli_error($db));
            }
        }

Ну и дальше в нужном месте

        $user_time = date('Y-m-d H:i', strtotime($timezone." hours"));
        $user_time = substr($user_time, -5, 5);
        if($user_time == "00:00"){
            $user_time = "<br><p class='user_time notime'>Время пользователя не определенно</p>";
        } else {
            $user_time = "<br><p class='user_time time'>Время пользователя - ".$user_time."</p>";
        }

Сюда получаю смещение пользователя $timezone = $allusers["timezone"]; и дальше вывожу уже. $user_time = date('Y-m-d H:i', strtotime($timezone." hours"));

READ ALSO
Как грамотно реализовать перенаправление на новую структуру URL сайта (с названий на id)

Как грамотно реализовать перенаправление на новую структуру URL сайта (с названий на id)

Сайт (PHP, Apache, htaccess) представляет собой некое подобие каталога организаций и его URL состояли из названий категорий и городов на кириллице:

191
Единая точка входа PHP

Единая точка входа PHP

Делаю небольшое приложение по заданиюВроде единую точку входа реализовал верно, но проверяющий по прежнему говорит, что нет единой точки...

296
Kohana ajax выдает ошибку Error 403. Почему и как обойти?

Kohana ajax выдает ошибку Error 403. Почему и как обойти?

Я разрабатываю сайт на фреймворке KohanaУ меня есть код, который будет повторяться

265
Проверка имен на буквы Contact Form 7

Проверка имен на буквы Contact Form 7

Пытаюсь создать фильтр на проверку поля имени на цифрыНаписал подобный код:

198