powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Учет часовых поясов
8 сообщений из 8, страница 1 из 1
Учет часовых поясов
    #36734651
Поросенок Петр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Разрабатывается система, которая должна работать в нескольких часовых поясах. Вопрос: где можно почитать про то как правильно обрабатывать и хранить и учитывать время на сервере, скажем в журнале аудита и для проведения операций в целом?
...
Рейтинг: 0 / 0
Учет часовых поясов
    #36735601
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Время на сервере пусть храниться временем сервера. А местное время получать прибавлением константы.
...
Рейтинг: 0 / 0
Учет часовых поясов
    #36735652
Поросенок Петр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А подетальнее можешь рассказать ?

Каким образом приводить время к общему знаменателю на сервере? Хранить его там как utc ?
Вопрос про константы ? каким образом этот механизм работает ? где то в базе часовой пояс полученного времени ?
...
Рейтинг: 0 / 0
Учет часовых поясов
    #36735870
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В системе будет один сервер или несколько (в разных поясах) ?

зы: не усложняйте.
...
Рейтинг: 0 / 0
Учет часовых поясов
    #36735887
Поросенок Петр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один сервер на котором крутится сайт. Пользователи в разных часовых поясах России
...
Рейтинг: 0 / 0
Учет часовых поясов
    #36736027
fleandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в журнале аудита есть юзер кто сделал изменения. к нему привязать часовой пояс
Серверное время не портить!
...
Рейтинг: 0 / 0
Учет часовых поясов
    #36737189
Фотография Ёжик`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В базе храню UTC.
Имею серверов 7 штук в разных часовых поясах, база реплицируется.

Написал UDF переводящую время из UTC в локальное.
Часовой пояс вычисляется локальным сервером, время актуально для локальных пользователей.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE FUNCTION [dbo].[fn_DateUTCToLocal]( @DateUTC datetime )
RETURNS datetime
AS
BEGIN

	RETURN dateadd(hh,datediff(hh,getutcdate(),getdate()),@DateUTC) 

END
Для сайта лучше сдвиг на константу из таблицы пользователей.
Для незарегистрированных выбрать местное время (или московское), заодно определять по IP местонахождения посетителя и оттуда вычислять часовой пояс.
Как по IP - реализацию не знаю, но Яндекс то умеет...
...
Рейтинг: 0 / 0
Учет часовых поясов
    #36737193
Фотография pilot911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fleandr,

если речь о Mysql и PHP - то имеет смысл заполнить системные таблицы, которые при установке мускуля не заполняются

Дамп - http://dev.mysql.com/downloads/timezones.html (ссылка внизу)

эти системные таблицы хранят данные о часовых поясах для каждого из соединений, при условии, что в самом начале устанавливается

SET time_zone='Europe/Moscow' - например

а в пхп устанавливаете

date_default_timezone_set('Europe/Moscow');

таким образом, все времена будут конвертироваться внутри мускуля в UTC автоматически и так же автоматически будут возвращатся в нужном сдвиге из мускуля с учетом SET time_zone='Europe/Moscow'
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Учет часовых поясов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]