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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

js前端如何實(shí)現(xiàn)根據(jù)兩個(gè)日期(例如2018-03-23)來(lái)算出其中間間隔幾個(gè)月零幾天?

js前端如何實(shí)現(xiàn)根據(jù)兩個(gè)日期(例如2018-03-23)來(lái)算出其中間間隔幾個(gè)月零幾天?

蝴蝶不菲 2019-03-14 18:15:24
問(wèn)題陳述:js前端如何實(shí)現(xiàn)根據(jù)兩個(gè)日期(例如2018-03-23)來(lái)算出其中間間隔幾個(gè)月(月指的是自然月)零幾天?思考場(chǎng)景:就講其中一種場(chǎng)景 計(jì)算寶寶出生了幾個(gè)月零幾天 出生日期2017-02-23 當(dāng)前日期 2018-03-23思考難點(diǎn): 在其中一種情況下遇到如下問(wèn)題:當(dāng)出生年小于當(dāng)前年&&出生月小于當(dāng)前月 出生當(dāng)月肯定不能算整月 后面的遍歷出生年月(從當(dāng)月+1)開(kāi)始 所以就是算剩幾天吧 (計(jì)算出整月有多少天然后減去出生天 就是去年零的幾天)當(dāng)年零的幾天也是這么算。 好從這之前都沒(méi)問(wèn)題 問(wèn)題難點(diǎn) 是這兩個(gè)零幾天如果超過(guò)三十天 那怎么累加到之前的月份呢 按照什么條件? 30天一累加? 所以是不是沒(méi)有辦法解決?
查看完整描述

4 回答

?
開(kāi)心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊

用moment.js


var start = moment('2017-02-23');

var end = moment('2018-03-23');

end.diff(start, 'days'); // 393


查看完整回答
1 反對(duì) 回復(fù) 2019-03-23
?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

這個(gè)其實(shí)是一個(gè)用戶體驗(yàn)問(wèn)題,
如果當(dāng)前月份是非閏年的2月,那么你如果零頭算出來(lái)是29,30,客戶就會(huì)覺(jué)得很奇怪,
如果你當(dāng)前月份是7月是31天的,你零頭算出來(lái)是30,客戶反而會(huì)覺(jué)得可以接受,
所以你可以根據(jù)當(dāng)前月份來(lái)決定最后28,29,30,31的這些零頭是否要進(jìn)位。。

查看完整回答
反對(duì) 回復(fù) 2019-03-23
?
撒科打諢

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊

前端算其實(shí)也比較容易,其實(shí)樓上提出來(lái)的那個(gè)問(wèn)題不大,如果按月來(lái)先減,再看日就不會(huì)有他說(shuō)的那種問(wèn)題。如果日有30天算一個(gè)月,就相對(duì)簡(jiǎn)單了。


查看完整回答
反對(duì) 回復(fù) 2019-03-23
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

var mons = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]


function isLeapYear(year) {

  var  r = year / 100

  if (r === parseInt(r)) {

    r = year / 400

    return r === parseInt(r)

  }

  r = year / 4

  if (r === parseInt(r)) {

    return true

  }

  return false

}


function getDaysOfMonth(month, year) {

  if (month === 2 && isLeapYear(year)) {

    return 29

  }

  return mons[month]

}


function getMonthsOfYear(year) {

  if (isLeapYear(year)) {

    return 366

  }

  return 365

}


function diff(s1, s2) {

  var arr1 = s1.split('-').map(Number)

  var arr2 = s2.split('-').map(Number)

  var [year, month, day] = arr2.map((n, i) => n - arr1[i])

  if (day < 0) {

    day += getDaysOfMonth(arr2[1], arr2[0])

    month--

  }

  if (month < 0) {

    month += getMonthsOfYear(arr2[0])

    year--

  }

  return [year, month, day]

}

var d1_str = '2017-3-11'

var d2_str = '2018-3-26'

console.log(diff(d1_str, d2_str))


查看完整回答
反對(duì) 回復(fù) 2019-03-23
  • 4 回答
  • 0 關(guān)注
  • 2277 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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