Как vk.com или facebook.com определяют локальное время при запросе без параметров, куков и JS?
Добрый день всем!
Делаю приложение, которое хранит в базе даты записей в серверном времени. Необходимо выводить время записей в зависимости от локального времени пользователя. Самые простые варианты это:
1) Сделать настройку в приложении, чтобы можно было задавать зону и тогда перед выдачей сервер будет в зависимости от зоны выдавать даты. (Мне не хотелось бы хранить все зоны, да и пользователю их выбирать)
2) Сервер выдает базовую разметку, а затем загружается приложение на JS, которое получает JSON с серверными датами, преобразует их и вставляет. (хотелось бы выдавать сразу последние 5 записей, а не JS их подгружать и парсить.)
Как это делает тот же vk.com? Он сразу выдает правильное время c сервера, без JS, в том же AJAX возвращается уже разметка с временем. Никаких зон вводить не надо, все базируется на локальном времени, поменял системные настройки и все. Смотрел, никаких параметров в запросе не передается, куков и localstorage нет c этим связанных, даже вышел из аккаунта, все равно определяет. Определение по IP исключено. Вообщем пока что магия как они определяют мое время в системе, если у меня все очищено в браузере , я им ни параметров не передаю, ни устанавливаю его в настройках.
Кто разъяснит как они это делают и как сделать так же большое спасибо!!!
Насчет того что выше, я еще раз повторяю, что это не JS иначе бы он не выдывал сразу измененное время в первом же запросе. Да вконтакте без JS не работает и выдает что плохой браузер, но потому что он весь на AJAX и всяких штук с DOM.
dimonchik2013: а зачем виртуалку то ставить, если новое время можно поменять в системе? Ну смотрите, у меня выделенный сервер в Нидерландах, время стоит в системе Московское, VK показывает Московское тоже при заходе с него.
dimonchik2013: до изменений новость была "сегодня в 14:30", перевел на 2 часа назад, стала "сегодня в 12:30"
P.S. Если что я имею ввиду время в которых есть минуты и часы, на время вроде "2 минуты назад", это не работает так как 2 минуты время для всех часовых поясов одинаково