Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> корректный показ времени для каждой страны
Raymond  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 43562
На форуме: 28 дней
Карма:




К примеру, я нахожусь в России, и время на моем сервере 20:00.
Я вывожу его на главной странице сайта.У людей, которые живут в России, будет показываться 20:00.
Надо полагать, что сервер не автоматически преобразует время для посетителей, исходя из страны, в которой они живут, и в тот момент когда у них может быть 16:00, сайт все равно будет показывать 20:00? подскажите, я правильно понял?

И если да, то как обычно реализуется корректный показ времени исходя из страны пользователя? Объясните, пожалуйста, хотя бы в двух словах.

Это сообщение отредактировал Raymond - 15.11.2016 - 20:13
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1965
Пользователь №: 26852
На форуме: 5 лет, 8 месяцев, 18 дней
Карма: 111




Raymond
Относительно ГЕО IP, больше вроде как хз
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22689
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 27 дней
Карма: 599




walerus
geoip не всегда свежие базы. Часто Unknown, Europe и т.д.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Гость_Invis1ble  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









IP, настройки профиля, локальное время клиента
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Another Reality  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 124
Пользователь №: 41606
На форуме: 1 год, 4 месяца, 17 дней
Карма: 5




Javascript необходим тебе для такого, он может.


<script type="text/javascript">
window.onload = function(){
(function(){
var date = new Date();
var time = date.getHours()+':'+date.getMinutes()+':'+date.getSeconds();
document.getElementById('time').innerHTML = time;
window.setTimeout(arguments.callee, 1000);
})();
};
</
script>
<
div id="time"></div>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TranceIT  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



...Один я одинаковый...
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1731
Пользователь №: 19760
На форуме: 7 лет, 17 дней
Карма: 58




Another Reality
Date вроде как получает время установленное на стороне клиента. А не относительно geoip, часовых поясов и т.д. Или я не прав?


--------------------
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 2 дня
Карма: 591




Цитата (TranceIT @ 16.11.2016 - 11:20)
Date вроде как получает время установленное на стороне клиента. А не относительно geoip, часовых поясов и т.д. Или я не прав?

а разве не это нужно ТС? Про geoip он не спрашивал. smile.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TranceIT  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



...Один я одинаковый...
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1731
Пользователь №: 19760
На форуме: 7 лет, 17 дней
Карма: 58




killer8080
1) Я живу в Крыму. На основной машине стоит винда, а так как мелкомягкие не признают Крым, то винда ставит украинское время. Т.е. Сейчас на ПК 14:45, а по факту 13:45. А летом еще плюс час разницы.

2) Я могу руками поставить неправильную дату и отключить синхронизацию. Я так делал когда взламывал GTA V. Там надо было определенную дату ставить. И какая-то старая пробная версия nod32 ломалась переводом часов назад. На год перевел и год пользуешься нахаляву. Может быть и другая необходимость.

3) Неправильно установлен часовой пояс. Попробуй поставить винду и линух параллельно. И установи разные часовые пояса. У тебя биос с ума сойдет.

4) Сдохла батарейка на материнке.


--------------------
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 2 дня
Карма: 591




Цитата (TranceIT @ 16.11.2016 - 13:48)
1) Я живу в Крыму. На основной машине стоит винда, а так как мелкомягкие не признают Крым, то винда ставит украинское время. Т.е. Сейчас на ПК 14:45, а по факту 13:45. А летом еще плюс час разницы.

Я то же, только винда не решает за меня какой часовой пояс мне выбрать wink.gif
Цитата (TranceIT @ 16.11.2016 - 13:48)
2) Я могу руками поставить неправильную дату и отключить синхронизацию. Я так делал когда взламывал GTA V. Там надо было определенную дату ставить. И какая-то старая пробная версия nod32 ломалась переводом часов назад. На год перевел и год пользуешься нахаляву. Может быть и другая необходимость.

конечно можешь и что? Будет отображаться твоё локальное время.
Цитата (TranceIT @ 16.11.2016 - 13:48)
3) Неправильно установлен часовой пояс. Попробуй поставить винду и линух параллельно. И установи разные часовые пояса. У тебя биос с ума сойдет.

4) Сдохла батарейка на материнке.

В таком случае пользователя должна волновать настройка его системы, а не время на сайте. Это уже вторично, если юзера устраивает такой расклад, это его проблемы.

PS мой IP сейчас 195.154.69.175 какой у меня часовой пояс? wink.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TranceIT  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



...Один я одинаковый...
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1731
Пользователь №: 19760
На форуме: 7 лет, 17 дней
Карма: 58




killer8080
Это все верно, только вот пользователю срать на все это.
Если пользователь увидит, что сайт определил его время 16:00, а у него сейчас 14, то он не будет разбираться ни в чем. Он посчитает что сайт говно, а программисты дебилы. Уйдет и больше никогда не вернется.
А использовать такое время для записи каких-то событий или ведения статистики нельзя категорически.


--------------------
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Another Reality  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 124
Пользователь №: 41606
На форуме: 1 год, 4 месяца, 17 дней
Карма: 5




Цитата (TranceIT @ 16.11.2016 - 11:20)
Another Reality
Date вроде как получает время установленное на стороне клиента. А не относительно geoip, часовых поясов и т.д. Или я не прав?

У ТС проблема с определением клиентского времени, он не говорил о какой-то конкретной задаче и условиях, вот я и предложил вариант.
Ну можно еще подстраховаться с geoip, а потом гадать, какое из них правильное.
Как уже сказал Invis1ble - есть настройки часовых поясов в профиле.

Но в 99% случаев время на клиентской стороне будет верным.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 2 дня
Карма: 591




Цитата (TranceIT @ 16.11.2016 - 14:50)
killer8080
Это все верно, только вот пользователю срать на все это.
Если пользователь увидит, что сайт определил его время 16:00, а у него сейчас 14, то он не будет разбираться ни в чем. Он посчитает что сайт говно, а программисты дебилы. Уйдет и больше никогда не вернется.

Врядли, ведь в треё у него то же время отображается, возмущение будет скорее наоборот, когда время на его компе будет не совпадать с отображаемым на странице.

Цитата (TranceIT @ 16.11.2016 - 14:50)
А использовать такое время для записи каких-то событий или ведения статистики нельзя категорически.

безусловно, об этом речи не было, вопрос был только об отображении времени пользователю. Вообще ТС-у следовало бы конкретизировать задачу, неясно что за время и для чего оно отображается на сайте. Если это как на форуме, показать время публикации поста, то ИМХО следует делать так:
1 пользователю предоставлять возможность задать свой TZ в настройках профиля или для анонимов сохранить в куки.
2 если пользователь не задал настройки вручную, пытаться детектировать через JS
3 в остальных случаях выводить время в дефолтном часовом поясе.

geoip не лучший вариант, на него вообще полагаться нельзя, хотя тоже можно использовать как крайний вариант.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TranceIT  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



...Один я одинаковый...
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1731
Пользователь №: 19760
На форуме: 7 лет, 17 дней
Карма: 58




Цитата (killer8080 @ 16.11.2016 - 13:50)
Врядли, ведь в треё у него то же время отображается, возмущение будет скорее наоборот, когда время на его компе будет не совпадать с отображаемым на странице.

Думаю тут 50\50.


--------------------
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Raymond  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 43562
На форуме: 28 дней
Карма:




Цитата (killer8080 @ 16.11.2016 - 15:50)
Вообще ТС-у следовало бы конкретизировать задачу, неясно что за время и для чего оно отображается на сайте. Если это как на форуме, показать время публикации поста, то ИМХО следует делать так:
1 пользователю предоставлять возможность задать свой TZ в настройках профиля или для анонимов сохранить в куки.
2 если пользователь не задал настройки вручную, пытаться детектировать через JS
3 в остальных случаях выводить время в дефолтном часовом поясе.

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


Спасибо тебе и всем ответившим, теперь понятно, куда копать
(благодарности, к сожалению, отправлять не могу - не дорос еще).

Вот, на всякий случай, то, что я хотел конкретно, хоть ответы я уже и получил, но может еще чего добавите:


На многих сайтах есть отображение времени последнего визита пользователя.

К примеру, я нахожусь в Москве , захожу на страницу к другу Васе в ВК , и вижу там "Был сегодня в 15:00".
Другой человек, Жора, живущий в стране, где время идет на 2 часа вперед, тоже заходит к Васе и видит "Был сегодня в 17:00". То есть , время отображается с учетом временной зоны пользователя.

Теперь возьмем мой ущербный сайт, где серверное время на данный момент - 19:40 (по Москве).
Жора заходит на него, оставляет комментарий. У Жоры сейчас 21:40, но время комментария на сайте показывается, как 19:40.
Парень вспоминает, что он, вроде бы, ничего не курил, а значит это с сайтом что-то не так. Он уходит и никогда больше не возвращается.

Так вот, как реализовать показ подобных вещей, чтобы все отображалось как следует, исходя из времени пользователя, а не из времени сервера?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11783
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 10 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 10 дней


Цитата (Raymond @ 16.11.2016 - 19:48)
Так вот, как реализовать показ подобных вещей, чтобы все отображалось как следует, исходя из времени пользователя, а не из времени сервера?

На сервере хранить время в UTC, выводить с учётом смещения для конкретного юзера. Смещение вычислять на основе предложенных выше вариантов.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса