2016-07-23 9 views
0

Jquery UIのdatepickerからその月の週番号(1,2,3,4,5)を取得しようとしています。私はgoogledとiso8601Weekのコードを取得するが、正常な週番号ではありません。Jquery UIのdatepickerから通常の週番号を取得する

親切に私は煙がそれをテストしてみた対処する必要があるいくつかのより多くのエッジ条件は、おそらくありますがこれは、あなたが望むものに近いを与える必要があります

答えて

1

を助けます。

私は基本的に、月の最初の日のiso8601Weekを取り出し、選択した日付のそれから引きます。これはほとんどの日付で動作しますが、ISO 8601は、木曜日より前に落ちると、前年の1月4日より前の日数がかかります。とあなたの周りいじくり回すことができるように

$('#testDate').datepicker({ 
    onSelect: function(dateText, inst) { 
     var d = new Date(dateText); 
     var d1 = new Date(d.getFullYear(), d.getMonth(), 1) 
     var x = $.datepicker.iso8601Week(d) % 52; 
     var y = $.datepicker.iso8601Week(d1) % 52; 
     $('#label1').text(x-y+1); 
    } 
}); 

が、私はそれらの中に部分的な結果とすべての変数に残っ:それはコードがtestDateという入力とラベルと呼ばれるLABEL1を前提として52

%理由です値。このコードでは、週が月曜日(ISO 8601標準である)から始まり、月曜日より前の部分週が1週目であると仮定しています。月が月曜日に始まる場合、最初の月曜日は1週目、それ以外の日に始まります。最初の月曜日は2週目です。月の2日が月曜日でも2週目でも少し変わっていますが、気に入らない場合は、あなたが何を詳細に決定するかのようになります。

+0

ありがとう、これは私が正確に探しているものです。 ISO 8601規格に準拠しています。私は6月5日に2016年5月にテストしましたが、それは完璧に機能しました。 – user375947

+0

それはあなたのために働いてうれしい。しかし、もし私がそれを示せば、1月と12月の週をかなり徹底的にテストします。 – BobRodes

関連する問題