Укажите время для пользователей в нескольких часовых поясах (особенно в США / Канаде)

Я реализую средство регистрации, которое отправляет ссылку с токеном в нем - токен действителен в течение 1 часа. Итак, в электронном письме (допустим, сейчас 14:20) я хочу сказать:

Вы должны перейти по этой ссылке до 15:30.

Аудитория этого сайта будет в Ирландии / Великобритании, США / Канаде и, возможно, в некоторых странах Европы, поэтому я хотел указать время истечения срока действия в нескольких часовых поясах, которые будут понятны этим (нетехническим) людям.

Так вот что я придумал

Click by:

Ireland/UK > 25 Apr 2018 13:59
CET (Berlin) > 25 Apr 2018 14:59

Pacific (Los Angeles) > 25 Apr 2018 05:59

Mountain (Denver) > 25 Apr 2018 06:59

Central (Chicago) > 25 Apr 2018 07:59

Eastern (New York) > 25 Apr 2018 08:59

Теперь я понимаю, что Денвер в настоящее время является MDT (и MST зимой), но здесь, в Ирландии, мы сейчас находимся в IST (UTC + 1) или GMT зимой / осенью - но если вы спросите случайного человека, какой часовой пояс мы, в лучшем случае, вы получите ответ по Гринвичу круглый год. Итак, я указываю время там как общее «Гора» и даю образец города.

Как этот подход подходит людям в США / Канаде?

Мой код ниже, а вот живая ссылка

<?php
$exipry = 60*60 + time();

$now_obj       = new DateTime(date("Y-m-d H:i:s", $exipry));

$now_obj->setTimezone(new DateTimeZone('Europe/Dublin'));
$now_hour_from_IRELAND_datetime = $now_obj->format('d M Y H:i');


$now_obj->setTimezone(new DateTimeZone('Europe/Berlin'));
$now_hour_from_CET_datetime = $now_obj->format('d M Y H:i');

$now_obj->setTimezone(new DateTimeZone('America/Los_Angeles'));
$now_hour_from_pacific_datetime = $now_obj->format('d M Y H:i');

$now_obj->setTimezone(new DateTimeZone('America/Denver'));
$now_hour_from_mountain_datetime = $now_obj->format('d M Y H:i');

$now_obj->setTimezone(new DateTimeZone('America/Chicago'));
$now_hour_from_central_datetime = $now_obj->format('d M Y H:i');

$now_obj->setTimezone(new DateTimeZone('America/New_York'));
$now_hour_from_eastern_datetime = $now_obj->format('d M Y H:i');

print("<h1>1 hour from now is:</h1>");
print("Ireland/UK  > $now_hour_from_IRELAND_datetime<p>");
print("CET (Berlin) > $now_hour_from_CET_datetime<p>");
print("Pacific (Los Angeles) > $now_hour_from_pacific_datetime<p>");
print("Mountain (Denver) > $now_hour_from_mountain_datetime<p>");
print("Central (Chicago) > $now_hour_from_central_datetime<p>");
print("Eastern (New York) > $now_hour_from_eastern_datetime<p>");

?>

Спасибо, сделаю. Но меня больше интересовала сторона пользовательского интерфейса, например, насколько североамериканцы знакомы с часовыми поясами и понятен ли мой текст?

KevInSol 25.04.2018 14:39

Не могли бы вы прояснить свой вопрос: вы просто хотите знать, какие часовые пояса должны быть в вашем списке, чтобы охватить США и Канаду? Или вы хотели и других? Пожалуйста, будьте конкретны. Спасибо.

Matt Johnson-Pint 25.04.2018 19:50

См. Мой комментарий под ответом О Джонса - это просто нужно для клиентов из США, скорее всего, на восточном побережье. Пытаться представить время истечения срока действия ссылки как можно более простым языком, не усложняя ситуацию, говоря о летнем времени или нет, если возможно

KevInSol 26.04.2018 13:49
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мне кажется, это правильно.

Обязательно протестируйте его и для «Азии / Калькутты». Это хороший тест, потому что смещение часового пояса составляет полчаса.

То же самое с «Америкой / Фениксом», потому что они придерживаются стандартного времени круглый год.

Обычно такие приложения просят каждого пользователя указать название часового пояса во время адаптации. (Но многие пользователи не беспокоят)

В США, когда мы хотим указать часовой пояс таким образом, чтобы он не менялся между летом и зимой, мы говорим «Восточное время», «Центральное время», «Горное время», «Тихоокеанское время» и Гавайи. и время Аляски. У канадцев также есть «атлантическое время» («Америка / Галифакс»). В Аризоне («Америка / Феникс») говорят «Аризонское время».

Я мог бы продолжить все странности часовых поясов в американском штате Индиана (где законодательный орган однажды был близок к принятию закона, устанавливающего значение π как 22/7). Но я тебя пощажу.

O. Jones 25.04.2018 14:41

Только что попробовал Индию, сработало нормально. На самом деле, у меня был Phoenix для Mountain Time, и я подумал, что у меня есть ошибка, такая же, как в Лос-Анджелесе. Посмотрел дальше, чтобы увидеть, что у них нет летнего времени. Ах, мы все знаем, что пирог - это 3 и кусок!

KevInSol 25.04.2018 15:13

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

KevInSol 25.04.2018 15:22

В День Святого Патрика все в США становятся ирландцами. Но этот день всегда приходится на летнее время.

O. Jones 27.04.2018 17:55

Другие вопросы по теме