как преобразовать дату и время сервера в дату и время клиентского компьютера для веб-сайта - PullRequest
0 голосов
/ 08 июня 2010

У меня есть поле даты и времени. У меня есть поле даты и времени в базе данных, в котором хранится универсальное время, то есть время UTC. Я хочу показать дату и время на клиентском компьютере в часовом поясе и формате клиента.

Пример: кто-то из США обновил поле базы данных для сайта, и оно сохраняется в формате UTC. Кто-то из Индии едет и видит сайт. Я хочу, чтобы человек из Индии видел время в IST или из Австралии в формате времени на своих локальных машинах, а не в формате времени и зоны сервера.

Какой лучший способ сделать это ?? Пожалуйста, вставьте фрагмент кода, если у вас есть.

Спасибо заранее!

Ответы [ 4 ]

1 голос
/ 08 июня 2010

Проверьте это обсуждение:

Как отобразить правильное время?

Имеет именно тот ответ, который вы ищете.


Другой стратегией будет считывание IP-адреса клиента, сопоставление его со страной и местоположением, а затем определение вероятного часового пояса. Возможно, он не точный, но имеет преимущество в том, что в основном работает, даже если время / местоположение машины / браузера полностью неверны.

В качестве альтернативы, просто позвольте пользователю выбрать свое местоположение и сохраните выбор в файлах cookie, отправляя его при каждом новом запросе.

1 голос
/ 08 июня 2010

Пример на Java, если вы довольны этим

String utcTimePattern = "yyyy-MM-dd HH:mm:ss Z"; // Defined in database or whatever
String timeString = "2010-09-08 12:51:14 +0000"; // Event time kept in database

SimpleDateFormat timeFormat = new SimpleDateFormat(utcTimePattern);

// Parse server time and get Date object with default settings
Date localTime = timeFormat.parse(timeString);

System.out.println(localTime);

Идея состоит в том, что вы получаете строку времени UTC от сервера и форматируете ее на стороне клиента, используя часовой пояс по умолчанию и шаблон даты. Вывод на моей машине

Wed Sep 08 15:51:14 EEST 2010
1 голос
/ 08 июня 2010

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

0 голосов
/ 18 февраля 2012

Я надеюсь, что это сработает для вас. Результатом будет формат строки, который вам нужен. выход США: "М / дд / гггг"

выход SP: "Дд / М / гггг"

System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...