Автоматическое форматирование даты на основе локали / местоположения браузера - PullRequest
1 голос
/ 20 сентября 2011

Я ищу решение в javascript или PHP, которое форматирует «дату» и «время» на основе местоположения посетителей и настроек локали.

Например

echo auto_format_date(time());

будет выводить 20-09-2011 для пользователей из штатов и 20/09/2011 для пользователей в Великобритании.


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

Ответы [ 4 ]

0 голосов
/ 20 сентября 2011

Я нашел другой ответ, который опирается на datejs

https://code.google.com/p/datejs/wiki/FormatSpecifiers

%x     preferred date representation for the current locale 
       without the time        "4/13/2008"
%X     preferred time representation for the current locale
       without the date        "12:53:05"
0 голосов
/ 20 сентября 2011

Вы должны получить Страна из Ip с помощью PHP Geolacator

, а затем использовать функцию zned: date_default_timezone_set ('Europe / Berlin');

и при создании даты:

$ date = new Zend_Date ();

echo $ date;

Вы получите то, что хотите ...

0 голосов
/ 20 сентября 2011

Я сам обнаружил следующее:

http://www.w3schools.com/jsref/jsref_tolocalestring.asp

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

0 голосов
/ 20 сентября 2011

В коде на стороне сервера (PHP, ASP.NET ...) вы можете установить Accept-Language HTTP-заголовок запроса для определения языка браузера клиента.

Accept-Language: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4

Вы можете прочитать дополнительную информацию: http://www.w3.org/International/questions/qa-accept-lang-locales

...