現在、レガシーのホームロールシステムを使用しているアプリケーションにネイティブの日付ピッカーを追加したいと思います。日付入力のサポートはまだ普及していませんが、互換性に基づいて両方の実装を提示できれば理想的です。
HTML日付ピッカーによって与えられた値の出力を指定する方法はありますか? operaのデフォルトはyyyy-mm-dd
、そして私はdd-MMM-yyyy
。
現在、この出力を制御する方法はありますか?
HTML5の日付入力 フィールドは、使用する形式に固有です。 RFC 3339 full-date
Yyyy-mm-dd形式を使用するようにレガシー日付ピッカーを変更することはできますか(そしてそれを読み取るサーバー側を更新します)?
私はそうではないと思いますので、HTML5入力の変更イベントをリッスンし、非表示の日付値フィールドを更新して、従来の日付ピッカーの形式と一致するJavaScriptグルーコードを追加できます(yyyy-mm-ddをdd-MMMに変換します) -yyyy)。
Google Chromeでは、これは最近変更されました。ユーザーに表示される値は、オペレーティングシステムのロケールに基づいています。ただし、表示形式input.value
は、表示形式に関係なく常にyyyy-mm-dd
として返されます。
私の意見ではもっと便利です。
ソース:
http://updates.html5rocks.com/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome
HTML日付フィールドの形式は標準です。これを変更することはできませんが、ユーザーがJavaScriptを有効にしている場合は、日付オブジェクトから探している形式に簡単に変換できます。
// Converts any valid Date string or Date object into the format dd-MMM-yyyy
function dateTransform(d) {
var s = (new Date(d)).toString().split(' ');
return [s[2],s[1],s[3]].join('-');
}
それ以外の場合は、ISO形式で送信し、サーバー側のソリューションを実装する必要があります。おそらく、これにより、すべての地域で標準の日付形式の使用が増える可能性があります。