2013-07-15 22 views
6

システムのローカル日付/時刻形式を取得し、この同じ形式でデータベースから日付を表示したいと考えています。たとえば、システムの日付形式が月dd/yyyyで、データベースに保存されている日付がmm/dd/yyyyの場合、ローカルの日付/時刻形式を取得し、保存された日付をローカル形式に変換する必要があります。 HTML5の入力type="date"これは、デフォルトのシステム日付/時刻形式と日付を同じ形式で表示します。 jqueryまたはjavascriptでどうすればいいですか?ローカル日付/時刻形式の取得方法は?

var date = new Date(yearFromDb, monthFromDb, dayFromDb); 
date.toLocaleDateString(); 

EDIT

上記の方法は異なるブラウザ(クローム、IE、Firefoxの)間で一貫していないようです:

+2

あなたの質問は何ですか?これまでに何を試しましたか? –

+0

ローカルの日付/時刻形式を読み込み、その形式で保存された日付を表示したいと考えています。私はmm/dd/yyyyやdd/mm/yyyyなどのシステム日付形式を取得できません。 – Prasad

+0

http://stackoverflow.com/questions/8469436/how-format-javascript-date-with-regard-to-ブラウザの文化 – Satpal

答えて

0

は、JavaScript Dateオブジェクトを使用することができます。したがって、私はあなたの唯一のオプションは、サーバー側からフォーマットされた日付文字列を取得することだと思う。

ここには、ユーザーロケールを取得するクロスブラウザーの方法が示されています。これを使用して、バックエンドから現在のロケールでフォーマットされた日付文字列を取得できます(存在する場合)。

var locale = window.navigator.userLanguage || window.navigator.language; 
+0

Mozillaのようなchromeとmozillaの異なるフォーマットは2013年7月7日月曜日に表示され、chromeでは2013年7月15日に表示されます。私のローカル日付/時刻形式はmm/dd/yyyyです。私はすべてのブラウザで同じフォーマットを返すことができる他の関数を持っていますか? – Prasad

+0

私はFirefoxをインストールしていませんが、ブラウザ設定でデフォルトのロケールを上書きするユーザー設定がある可能性があります。とにかく、toLocaleDateString()は、ユーザーの設定に従ってフォーマットされた日付を返します。 –

+0

クロム設定でチェックしましたが、何も変更されていません。日付はまだmm/dd/yyyyで表示されています。システムの日付形式(dd/mmm/yy)を変更しても、日付はまだmm/dd/yyyyで表示されます – Prasad

関連する問題