ГМТ или без ГМТ - PullRequest
       25

ГМТ или без ГМТ

0 голосов
/ 12 октября 2009

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

мне действительно нужно внедрить gmt на сайт, чтобы получить правильную метку времени для сообщения? ну я строю сайт как твиттер. мои каналы работают нормально и показывают мне время, которое мне нужно, как это показывает "опубликовано 11 минут, опубликовано вчера, размещено 5 дней назад ...", как и этот сайт, поэтому я подумал, что он должен работать для всех должным образом, что вы думаете ? или вы думаете, мне нужно реализовать gmt на нем, и вы рекомендуете или у вас есть какая-либо статья о нем для правильной реализации?

извините, если это звучит глупо: O

Ответы [ 3 ]

2 голосов
/ 12 октября 2009

В долгосрочной перспективе лучше хранить метки времени всегда в GMT / UTC, независимо от того, как отображается пользовательский интерфейс. Это имеет два преимущества:

  • при изменении пользовательского интерфейса вам не нужно прикасаться к данным
  • он дает четкое руководство по проектированию (с точки зрения четкого правильного / неправильного решения): любая конкретная функция, связанная со временем, может быть независимо рассмотрена в отношении время обработки меток в UTC

Что касается конкретных рекомендаций по программированию: они очень сильно зависят от функциональности, которую вы хотите выполнить. В большинстве случаев вам нужны операции from-utc или to-utc.

1 голос
/ 12 октября 2009

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

Единственный случай, когда это немного странно, это когда вы находитесь в диапазоне нескольких дней. Означает ли вчера «некоторое время за 24 часа до последней полуночи» или «более 24 часов назад»? В любом случае, если единственный уровень детализации, который вы предоставляете, это «дни», то после того, как он пройдет около 2 дней, это не имеет значения.

Один хороший способ избежать путаницы - это тот же метод, который используется здесь для SO: поместите удобочитаемую удобную дату на экране («вчера»), но укажите точное время (в GMT или в TZ пользователя) в качестве всплывающей подсказки. .

1 голос
/ 12 октября 2009

Это хороший момент, но рассмотрим случай, когда 1 день назад предлагает «вчера», а для какого-то пользователя сейчас 1:05. Я полагаю, если вы используете дни = часы% 24, а не дни = datediff (тогда, сейчас) .days, то это будет работать нормально.

Я думаю, что проблема в том, насколько точным должен быть ваш сайт? Если это для медицинских показаний, чтобы кто-то мог знать, когда назначено лечение, тогда да, вы хотите правильно учесть часовые пояса и указывать точное время, а не просто «х назад». Если это просто для "Джо сказал привет два дня назад", тогда это не имеет большого значения.

...