Форум » Система построения сайтов » Разное » Работа системы CMS со временем, серверное время
Открыть Ответить

Работа системы CMS со временем, серверное время

5.00

5.00

1
28.12.2018 13:20:00 30.12.2018 21:06:33

Нужна помощь от знатоков работы со временем. Допустим посетитель зарегистрировался в Москве. При этом данные зафиксировались так:
PHP: $data_reg=time();
SQL: data_reg='".data_reg."', где data_reg поле типа int(10)

Затем, через час в аккаунт зашли в Нью-Йорке. Время захода зафиксировалось так:
PHP: $data_in=time();
SQL: data_in='".$data_in."', где data_in поле типа int(10)

Вопрос: Результат $data_in - $data_reg будет равен одному часу или на это повлияют временные зоны?
Если повлияют, то как правильно сделать алгоритм, что бы временные зоны не учитывались? Т.е. само по себе локальное время меня не интересует, важно лишь сколько времени прошло между событиями.

Группа
Клиент
Пункты
32519
Регистрация
06.05.2011
Пол
Мужчина
Предупреждения
Нет
olevpa
olevpa
4.02

4.02

29.12.2018 10:39:59 29.12.2018 10:43:11

Я совершенно не знаток, но встряну с вашего позволения.
А почему время в базу не записывать вот так: now()?

data_reg=now()


data_in=now()


Только что проверил на одном сайте, попросил товарища зайти из хмао на сайт, который лежит физически на сервере в мск. А потом сам на него зашел, находясь в Москве. В итоге в обоих случаях время захода зафиксировалось по мск, то есть по времени сервера. То есть я могу смело отнимать одно от другого и получу время между двумя заходами.

Или я совсем не понял о чем вы говорите?

Группа
Активисты
Пункты
10766
Регистрация
28.10.2005
Пол
Мужчина
Из
Москва
Предупреждения
Нет
otherside
otherside
3.97

3.97

29.12.2018 15:21:50


Только что проверил на одном сайте, попросил товарища зайти из хмао на сайт, который лежит физически на сервере в мск. А потом сам на него зашел, находясь в Москве. В итоге в обоих случаях время захода зафиксировалось по мск, то есть по времени сервера. То есть я могу смело отнимать одно от другого и получу время между двумя заходами.

Или я совсем не понял о чем вы говорите?



Можно наверное и через now(). Мне переменная затем ещё требуется для некоторых вычислений, поэтому через тайм.
Благодарю, что потестили. Т.е. - можно спать спокойно.
Ура.

Группа
Клиент
Пункты
32519
Регистрация
06.05.2011
Пол
Мужчина
Предупреждения
Нет
olevpa
olevpa
4.02

4.02

30.12.2018 21:14:18 07.01.2019 20:17:36

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

Но есть несколько не очевидных проблем. Допустим те же сообщения на форуме, если выставлять время пользователя их опубликовавших, то как же быть с пользователями других временных зон, отличимых от автора? Прочитают они их по своему времени, соответственно с опозданием. Это касается не только форума, но и всех остальных модулей, комментариев и т.д.

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


О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
Группа
Клиент
Пункты
39824
Регистрация
30.04.2005
Пол
Мужчина
Из
Germany
Предупреждения
Нет
SLAED CMS
SLAED CMS
3.24

3.24

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код