[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как установить локальное время в timestamp
sh47n
Сделал 2 поля. Одно timestamp и второе time
Всунул
mysql_query("SET time_zone = '+02:00'");

time нормально принимает время, timestamp ставит время сервера
Есть ли способ установить локальное время в timestamp или поле такого типа принимает только время сервера?
Заранее всем спасибо!
AllesKlar
timestamp - это количество секунд прошедшее с 01.01.1970 по UTC (примерно по Гринвичу)
Оно в любой точке земли в каждый момент времени одинаково, у него нет временной зоны.

_____________
[продано копирайтерам]
sh47n
AllesKlar
Тогда понятно почему не получается задать локальное время.
Только не по Гринвичу, а по UTC сервера. Напр. бесплатный 000webhost.com обновляет это поле при 23:50 по Москве как 17:50
Спасибо!
walerus
sh47n
Читать date_default_timezone_set
sh47n
Цитата (walerus @ 23.03.2017 - 01:09)
sh47n
Читать [URL=http://php.net/manual/ru/function.date-default-timezone-set.php]

date_default_timezone_set[/URL] См. #1, там есть отличие от статьи? Как я понял, к timestamp никак нельзя привязать локальное время
Игорь_Vasinsky
Цитата
к timestamp никак нельзя привязать локальное время

почему? а формировать timestamp с учётом таймзоны? т.е. формировать timestamp с нужным для тебя отклонением

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sh47n
Цитата (Игорь_Vasinsky @ 23.03.2017 - 09:02)
Цитата
к timestamp никак нельзя привязать локальное время

почему? а формировать timestamp с учётом таймзоны? т.е. формировать timestamp с нужным для тебя отклонением

Новороссии привет!

Прямо на сервере пытался подсунуть insert с now() , вылетает по ошибке.
Хотя в структуру к полю timestamp сервер сам добавил now
Игорь_Vasinsky
Цитата
Хотя в структуру к полю timestamp сервер сам добавил now

лично я int использую, да и какая разница, ты как с тайзонами игрался в запросе?

достаточно узнать на сколько часов + или - и прибавить или отнять в секундах от timestamp

или https://www.epochconverter.com/programming/mysql

не к now(), а к

UNIX_TIMESTAMP(NOW()) 




_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sh47n
Игорь_Vasinsky
Спасибо! Сейчас попробую.
Я думал раз mysql_query("SET time_zone = '+02:00'"); с time, то и тут должно работать.

Вариант был еще хранить это серверное время и сделать поле для UTC клиента, но я не нашел как средствами PHP получить UTC клиента. Если бы получить, тогда вообще без разницы, что хранит сервер
Игорь_Vasinsky
Цитата
но я не нашел как средствами PHP получить UTC клиента

UTC Это не у клиента
UTC это для всех по гринвичу

можно
mysql_query("SET time_zone = '+02:00'");


главно не забыть что устанавливал

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.