Web ページがロードされているコンピューターで設定されている日付形式を見つける方法はありますか?
クライアント マシン システムの設定に従って、Web ページに日付を表示したいと考えています。
インストールされているドライバーの情報を含む、クライアント システムのすべてのシステム設定を一覧表示する ASP ベースの Web ページがあるようです。
したがって、ASP で可能であれば、PHP でも可能であると思います。
残念ながら、サーバーの PHP スクリプトで利用できるそのような情報はありません。HTTP ヘッダーを調べることができます。ヘッダーがある場合が多い
Accept-Language
Accept-Charset
これらは、ユーザーの言語を識別し、彼の好みを推測するために使用できます (彼の本当の好みを取得しないと推測します)。
より複雑なアプローチは、Javascript 関数を使用dateObject.toLocaleDateString()
してそれを解析し、ブラウザーでユーザー設定を識別して、その情報をサーバーに送信することです。それができるライブラリは知りませんが、見つけてみてください。
ユーザーの国を認識できるように、geoip を呼び出す Apache のモジュールを使用する必要があります。次に、タイム ゾーンを設定して、ユーザーのタイム ゾーンで表示することができます。
例:
<?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');
}
?>
ここでそれについて読むことができます。
クライアントのマシンで実行されている Web ページでは、ブラウザーが提供するものにアクセスできますが、それ以外には何もアクセスできません (セキュリティ上の理由により設計上)。たとえば、ファイルの読み取りまたは書き込みはできません。
日付表示の言語的および文化的側面について話している場合は、ロケールを確認する必要があります。たとえば、Javascript にはメソッド Date.toLocaleDateString() があります。
他の何かについて話している場合 (たとえば、オペレーティング システムで採用されている特定のテキスト レイアウト)、わかりません。