2016-10-02 6 views
0

私は奇妙なことに気付きました。私は数ヶ月前にmomentjsがどのように計算されたかに関するドキュメントを見つけることができませんでした。momentjsは何ヶ月前に計算されますか?

今日は10月2日2016です。私は、次のmomentjs関数を呼び出すときに、私は

moment("20160617", "YYYYMMDD").fromNow(); 
"4 months ago" 
moment("20160618", "YYYYMMDD").fromNow(); 
"3 months ago" 

を取得6月17日は、4ヶ月前である6月18日は、3ヶ月前に、なぜ誰かが私に説明していただけますか?

答えて

2

私の最高の推測:それは範囲と関係があるmoment各文字列のために計算します。 Mのキーを見てください.25-45日です。だから、 "1ヶ月"は通常の月よりも約15日以上長く続くことができます。後ろに数えると、1月の18日は翌月の2日から15日の期間内です。 17位はその範囲外です。これはすべて、月が "30日"であると仮定しています。この計算は、この種の計算では瞬間です。

+1

これは正しいです。 https://github.com/moment/moment/blob/develop/min/moment-with-locales.js#L3928 実際の要因は1ヶ月で30.436875日です。 – danniel

関連する問題