Date

   var date = new Date()
    var seperator1 = '-'
    var y = date.getFullYear()
    var m = date.getMonth() + 1
    var d = date.getDate()
    var h = date.getHours() // current hour
    
    var arr31 = [1, 3, 5, 7, 8, 10, 12]

    function getTime(y, m, d, h) {
      // first determine the start date
      if (h < 23) {
        // Situation 1 before 23:00
        h++
      } else {
        // return to 0 at 23:00
        h = 0
        // first determine if it is the last day
        if (arr31.indexOf(m) !== -1) {
          // this month has 31 days
          if (d < 31) {
            d++
          } else {
            d = 1
            if (m < 12) {
              m++
            } else {
              m = 1
              and++
            }
          }
        } else if (m === 2) {
          // Check if February is a leap year
          if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0 ) {
            // is a leap year and the month has 29 days
            if (d < 29) {
              d++
            } else {
              d = 1
              m++
            }
          } else {
            // Not a leap year this month has 28 days
            if (d < 28) {
              d++
            } else {
              d = 1
              m++
            }
          }
        } else {
          // this month has 30 days
          if (d < 30) {
            d++
          } else {
            d = 1
            m++
          }
        }
      }
      var obj = {
        str: y + '-' + check(m) + '-' + check(d) + ' ' + check(h) + ':00',
        and : and,
        m: m,
        d: d,
        h: h
      }
      return obj
    }

    function check (num) {
      // less than 10 plus 0
      return num < 10 ? ('0'+num) : num
    }
    // var obj = getTime(y, 4, 30, 22) // test for 30 days
    // var obj = getTime(y, 12, 31, 22) // test for 31 days
    // var obj = getTime(y, 2, 28, 22) // test in February
    // var obj = getTime(2020, 2, 28, 22) // test run year February
    // var obj = getTime(2020, 2, 29, 22) // test run in February
    var obj = getTime(y, m, d, h) // current date
    // obj.str is to add an hour
    // getTime(obj.y, obj.m, obj.d, obj.h).str is to add two hours
    console.log(obj.str + '~' + getTime(obj.y, obj.m, obj.d, obj.h).str)

  

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325050536&siteId=291194637