4

globalize プラグイン ( https://github.com/jquery/globalize )を使用して jquery datapicker をローカライズすることは可能ですか?

私はこのようにしてみました

// get a date format 
var dt = Globalize.culture().calendar.patterns.d;
$('#dp1').datepicker({
    dateFormat : dt
});

しかし、datepicker と globalize プラグインが異なる 2 つの形式を使用しているため、機能しません。

月が2桁、日が2桁、年が4桁の日付が必要なので、jqueryでは日付形式は「dd/mm/yy」でなければなりません。ただし、グローバル化では別の日付形式を使用します: en-Us -> M/d/yyyy it-IT -> dd/MM/yyyy

4

3 に答える 3

5

小型コンバータ:

Globalize.getPatternForDatapicker = function (pattern) {
    return this.culture().calendar.patterns[pattern || 'd'].toLowerCase().replace('yyyy', 'yy');
};

$('#dp1').datepicker({dateFormat : Globalize.getPatternForDatapicker()});
于 2012-12-25T16:40:41.243 に答える
1

Globalizeの初期(当時はjQuery Globalizeと呼ばれていました)には、特別にパッチが適用されたバージョンのDatepickerが利用可能でした。
率直に言って、もう使用できないと思いますが、現在のバージョンに同じ変更を適用しようとすると、問題は解決します。これは、多くのUnixライクなシステム(およびWindowsではCygwin経由など)で使用可能なdiffコマンドを使用して非常に簡単に実行できます。


編集:API

Datepickerが豊富なAPIを提供していることは、少なくとも言及するのは良いことだと思います。
Datepickerのローカリゼーションを調整するために使用できます。ただし、日付形式に関しては、年フィールドから「過剰な」yを削除するために何らかの置換を使用することを余儀なくされるのではないかと心配しています。これは私がしたくないことです。代わりに、前に提案したように、Datepickerにパッチを適用しますが...

于 2012-10-31T18:49:41.570 に答える
0

この 2 つの形式の不一致という多くの問題に遭遇しました。最後に、jQuery の担当者から、使用する Globalize 形式に切り替えるとの回答がありました。しかし、いつ... :(

于 2014-05-20T12:19:18.860 に答える