Как определить формат даты клиентского ПК - PullRequest
1 голос
/ 10 июня 2009

Есть ли способ найти формат даты, установленный на компьютере, на котором загружаются веб-страницы?

Я хочу показывать дату на своих веб-страницах в соответствии с настройками системы клиентского компьютера.

Мне показалась веб-страница на базе ASP, в которой перечислены все настройки системы клиентской системы, включая информацию об установленных драйверах!

Так что, если это возможно в ASP, то я думаю, что это должно быть возможно и в PHP!

Ответы [ 3 ]

1 голос
/ 10 июня 2009

К сожалению, такая информация недоступна серверному PHP-скрипту. Вы можете изучить заголовки HTTP. Часто встречаются заголовки

Accept-Language
Accept-Charset

Их можно использовать для идентификации языка пользователя и угадывания его предпочтений (предположим, не получить его настоящие предпочтения).

Более сложный подход состоит в том, чтобы использовать функцию Javascript dateObject.toLocaleDateString() и попытаться проанализировать ее, определить предпочтения пользователя в браузере и отправить эту информацию на сервер. Я не знаю ни одной библиотеки, которая могла бы сделать это, но вы можете попытаться найти это.

0 голосов
/ 10 июня 2009

Вам нужно использовать модуль в Apache, который вызывает geoip, чтобы вы могли узнать страну пользователя. Затем вы можете установить часовой пояс, чтобы показать его пользователю в его часовом поясе.

Пример:

<?php
date_default_timezone_set('Europe/London');

if (date_default_timezone_get()) {
    echo 'date_default_timezone_set: ' . date_default_timezone_get() . '<br />';
}

if (ini_get('date.timezone')) {
    echo 'date.timezone: ' . ini_get('date.timezone');
}

?>

Вы можете прочитать об этом здесь .

0 голосов
/ 10 июня 2009

На веб-странице, работающей на компьютере клиента, вы можете получить доступ к тому, что предоставляет браузер, и ничего больше (по замыслу, из соображений безопасности). Вы не можете, например, прочитать или написать файл.

Если вы говорите о лингвистических и культурных аспектах отображения даты, то вам нужно взглянуть на Locale: в Javascript, например, есть метод Date.toLocaleDateString ().

Если вы говорите о чем-то другом (например, об определенном текстовом макете, принятом операционной системой), вы не можете это выяснить.

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