Chromeの最後のいくつかのメジャーバージョンでは、次のように、ユーザーのロケールに合わせてフォーマットされた値で日付入力フィールドを表示できます。
<input type="date" value="2012-11-20">
Mac OS Xでは、米国が私の地域として設定されており(デフォルトの日付形式)、Chromeは次のように表示します。
JavaScriptで表示された文字列にアクセスする方法はありますか?(この回答では、これをプレゼンテーション形式と呼んでいます。)プロパティとメソッドは、さまざまな形式で同じ日付を表示しますが、プレゼンテーション形式と完全に一致するものはinput.value
ありinput.valueAsDate.toLocaleDateString()
ません。
これが私の試みのいくつかのフィドルです:http://jsfiddle.net/peterjmag/7KSbA/2/。MacにChrome23をインストールすると、次の出力が得られます。
[11/20/12]
input.value
2012-11-20
input.valueAsDate
Mon Nov 19 2012 17:00:00 GMT-0700 (MST)
input.valueAsDate.toDateString()
Mon Nov 19 2012
input.valueAsDate.toLocaleDateString()
Monday, November 19, 2012
input.valueAsDate.toISOString()
2012-11-20T00:00:00.000Z
編集:これは私にそれが不可能だと思わせる同様の質問です(つまり、文字列を再フォーマットするメソッドを定義しないと)。