第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript中兩個日期之間的月份差異

JavaScript中兩個日期之間的月份差異

尚方寶劍之說 2019-07-22 20:00:01
JavaScript中兩個日期之間的月份差異如何計算JavaScript中的兩個date()對象的差異,同時只返回差異中的月數(shù)?任何幫助都是很好的:)
查看完整描述

3 回答

?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個贊

如果您不考慮這個月中的某一天,那么到目前為止,這是一個更簡單的解決方案。

function monthDiff(dateFrom, dateTo) {
 return dateTo.getMonth() - dateFrom.getMonth() + 
   (12 * (dateTo.getFullYear() - dateFrom.getFullYear()))}//examplesconsole.log(monthDiff(new Date(2000, 01), new Date(2000, 02))) // 1console.log(monthDiff(new Date(1999, 02), new Date(2000, 02))) // 12 full yearconsole.log(monthDiff(new Date(2009, 11), new Date(2010, 0))) // 1

請注意,月份索引是基于0的。這意味著January = 0December = 11.


查看完整回答
反對 回復(fù) 2019-07-22
?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個贊

有時,你可能想得到兩個日期之間的月份的數(shù)量,完全忽略了日期部分。例如,如果你有兩個日期-2013/06/21和2013/10/18-而你只關(guān)心2013/06和2013/10年度的部分,以下是設(shè)想和可能的解決方案:

var date1=new Date(2013,5,21);//Remember, months are 0 based in JSvar date2=new Date(2013,9,18);var year1=date1.getFullYear();var year2=date2.getFullYear();var month1=date1.getMonth();var month2=date2.getMonth();if(month1===0){ //Have to take into account
  month1++;
  month2++;}var numberOfMonths;

1.如果您只想要兩個日期之間的月份數(shù)(不包括月份1和月份2)

numberOfMonths = (year2 - year1) * 12 + (month2 - month1) - 1;

2.如果你想包括這兩個月中的任何一個

numberOfMonths = (year2 - year1) * 12 + (month2 - month1);

3.如果你想把這兩個月都包括進(jìn)去

numberOfMonths = (year2 - year1) * 12 + (month2 - month1) + 1;


查看完整回答
反對 回復(fù) 2019-07-22
?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個贊

“差額中的月數(shù)”的定義有很多解釋。*-)

您可以從JavaScriptDate對象中獲取年份、月份和日期。根據(jù)您要尋找的信息,您可以使用這些信息來計算出兩個時間點(diǎn)之間的時間間隔是多少個月。

例如,在袖口上,這會發(fā)現(xiàn)有多少人。整整幾個月介于兩個日期之間,不包括部分月(例如,不包括每個月):

function monthDiff(d1, d2) {
    var months;
    months = (d2.getFullYear() - d1.getFullYear()) * 12;
    months -= d1.getMonth() + 1;
    months += d2.getMonth();
    return months <= 0 ? 0 : months;}monthDiff(
    new Date(2008, 10, 4), // November 4th, 2008
    new Date(2010, 2, 12)  // March 12th, 2010);// Result: 15: December 2008, all of 2009, and Jan & Feb 2010monthDiff(
    new Date(2010, 0, 1),  // January 1st, 2010
    new Date(2010, 2, 12)  // March 12th, 2010);// Result: 1: February 2010 is the only full month between themmonthDiff(
    new Date(2010, 1, 1),  // February 1st, 2010
    new Date(2010, 2, 12)  // March 12th, 2010);// Result: 0: There are no *full* months between them

(請注意,JavaScript中的月份值以0=1月開始。)

將小數(shù)月包括在上面要復(fù)雜得多,因?yàn)橐粋€典型的二月份的三天比八月份的三天(~10.714%)要大(~9.677%),當(dāng)然二月份也是一個移動的目標(biāo),這取決于它是否是閏年。

還有一些日期和時間庫可用于JavaScript,這可能使這類事情變得更容易。


查看完整回答
反對 回復(fù) 2019-07-22
  • 3 回答
  • 0 關(guān)注
  • 556 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號