code: function baseToDate(r) {
    var ms = r[7] ? (r[7] + '00').slice(0, 3) : 0;
    var date = getValidDate(+r[1], +r[2], +r[3], +(r[4] || 0), +(r[5] || 0), +(r[6] || 0), +ms);
  
    if (date) {
      // GMT+h:mm
      if (r[8]) {
        var h = +r[8];
        var m = +(r[9] || 0);
        if (-12 <= h && h <= 12 && 0 <= m && m < 60) {
          var diff = date.getTimezoneOffset() + (h * 60 + m);
          date.setTime(date.getTime() - diff * 60000);
        } else {
          date = null;
        }
  
      // Z
      } else if (r[10]) {
        date.setTime(date.getTime() - date.getTimezoneOffset() * 60000);
      }
    }
  
    return date;
  }
docs: 推奨フォーマットの日時をDateオブジェクトにする
  @param  {Array} r
  @return {Date}  date