2017-01-19 45 views
1

jQRnageSliderというプラグインを使用して、スライダに表示されている日付と時刻のラベルを取得しようとしましたが、昨年にスライダをスクロールバックすると、12が最終的に11になりました。現在の日付から1ヶ月前の日付を取得する方法(現在の日付が1月の場合)

enter image description here

私は昨年に戻ってスクロールしない場合は、通常のケース。

enter image description here

これは、2016年11月に日付フォーマットの問題の問題である必要があり、すぐに

を跳びました。誰も助けることができますか?

$(".date-range-slider").dateRangeSlider({  
    ... 

    formatter: function(val){ 
    var days = ('0' + val.getDate()).slice(-2), 
    month = ('0' + val.getMonth() + 1).slice(-2), 
    year = val.getFullYear(), 
    hour = ('0' + val.getHours()).slice(-2), 
    min = ('0' + val.getMinutes()).slice(-2); 
    return days + "-" + month + "-" + year + " " + hour + ":" + min; 
    } 
}); 
+0

あなたは、日付/時刻を使用している場合は、あなたのアプリ間で多くの機能、私はmoment.jsを見てお勧めします - それはあなたのためにこれらの問題の多くを解決します。 – MickRip

+1

文字列になる文字列連結 '( '0' + month)'が最初に来るので、 '( '0' + val.getMonth()+ 1)'の問題があるかもしれません。文字列。おそらく '( '0' +(val.getMonth()+ 1))'が必要です。 – Rafael

+0

あなたの関数は正常に動作します:https://jsfiddle.net/86hdnnno/ "val"引数には12月と同じ月がありませんか? – Potray

答えて

0

問題は、その行です:

あなたはあなたが行う必要がありますので、ない文字列として数学的にそれを合計する:

month = ('0' + (val.getMonth() + 1)).slice(-2)

はにスニペットをチェックあなたのコードが実際に返すものを確認してください:

var val = new Date(); 
 
document.write('0' + val.getMonth() + 1)

そして、何を返す修正版:

var val = new Date(); 
 
document.write('0' + (val.getMonth() + 1))

+0

ええ、私は自分自身もそれを見つけました。愚かな間違い。とにかくありがとう –

関連する問題