ウェブページでHTML5の要素を扱っています。デフォルトでは、入力 type="date"
は、日付を YYYY-MM-DD
として表示します。
質問は、そのフォーマットを以下のように変更することは可能でしょうか?DD-MM-YYYY`のように変更することは可能でしょうか?
**フォーマットを変更することはできません。
over the wire形式とブラウザの表示形式を区別する必要があります。
HTML5の日付入力仕様]1は、RFC3339仕様を参照しており、この仕様では、yyyy-mm-dd
に等しい完全な日付フォーマットを規定しています。yyyyy-mm-dd`.詳細は、RFC3339仕様のセクション5.6を参照してください。
ブラウザは、日付の入力をどのように表示するかに制限はありません。本稿執筆時点では、Chrome、Edge、Firefox、Operaが日付をサポートしています(こちら参照)。これらのブラウザはすべて、日付ピッカーを表示し、入力フィールドのテキストをフォーマットします。
**デスクトップ端末
Chrome、Firefox、Operaでは、ブラウザの言語設定に基づいて入力フィールドのテキストがフォーマットされます。Edgeでは、Windowsの言語設定に基づいて表示されます。残念なことに、すべてのウェブブラウザは、オペレーティングシステムで設定されている日付の書式を無視します。これは非常に奇妙な挙動であり、この入力タイプを使用する際には考慮すべき点があると思います。例えば、OSやブラウザの言語を「en-us」に設定しているオランダのユーザーは、慣れ親しんだ書式ではなく「01/30/2019」と表示されます。30-01-2019
.
Internet Explorer 9、10、11では、ワイヤ形式のテキスト入力フィールドが表示されます。
モバイルデバイス。
具体的には、AndroidのChromeでは、Androidの表示言語に基づいてフォーマットが設定されています。他のブラウザでも同じではないかと思いますが、確認はできていません。