new Dateは、現在の日付の後n日間の日付を計算し、2つの日付に基づいて、合計数日間(ieとキツネの互換性を含む)を計算しました.

1655 ワード

1、現在の日付を計算した後、n日間の日付
getAfterFormatDate (days) { //               0    (           )
      let dd = new Date()
      dd.setDate(dd.getDate() + days) //   days     
      let y = dd.getFullYear()
      let m = (dd.getMonth() + 1) < 10 ? ('0' + (dd.getMonth() + 1)) : (dd.getMonth() + 1)
      let d = dd.getDate() < 10 ? ('0' + dd.getDate()) : dd.getDate()
      let hour = dd.getHours() < 10 ? ('0' + dd.getHours()) : dd.getHours()
      let min = dd.getMinutes() < 10 ? ('0' + dd.getMinutes()) : dd.getMinutes()
      let second = dd.getSeconds() < 10 ? ('0' + dd.getSeconds()) : dd.getSeconds()
      return y + '-' + m + '-' + d + ' ' + hour + ':' + min + ':' + second
    }
2、2つの日付に基づいて計算して、全部で何日間の経験がありますか?
//            ,         5.1     6
datedifference (sDate1, sDate2) { // sDate1 sDate2 2006-12-18  
      let dateSpan,
        iDays
      sDate1 = Date.parse(sDate1.replace('-', '/'))
      sDate2 = Date.parse(sDate2.replace('-', '/'))
      dateSpan = sDate2 - sDate1
      dateSpan = Math.abs(dateSpan)
      iDays = Math.ceil(dateSpan / (24 * 3600 * 1000))
      return iDays
    }
互換問題1、new Date()/パラメータなしのブラウザ対応2、let data='2017-05-05'new Date(data)Date.parse/このようなパラメータ付きの解決方法は以下の通りです.('-','))
chromeの中でnewDate()だけは2018-08-08のパラメータを受け入れることができますが、ieとフォックスの中ではサポートされていません(逆に2018/08/08のフォーマットをサポートしていますので、replaceで交換する必要があります).ieの中ではdata.replace('、'/')だけが必要です.('-'、'/')このdataは2018/08-08に置き換えられますので、もう一度来ます.
これで完成!