各种时间函数

  • Post author:
  • Post category:其他


1.时间戳转年-月-日 时-分-秒

  //获取当前时间  年-月-日 时-分-秒
  formatDate: (value) => {
    // 时间戳转换日期格式方法
    if (value == null) {
      return '';
    } else {
      let date = new Date(value);
      let y = date.getFullYear(); // 年
      let MM = date.getMonth() + 1; // 月
      MM = MM < 10 ? '0' + MM : MM;
      let d = date.getDate(); // 日
      d = d < 10 ? '0' + d : d;
      let h = date.getHours(); // 时
      h = h < 10 ? '0' + h : h;
      let m = date.getMinutes(); // 分
      m = m < 10 ? '0' + m : m;
      let s = date.getSeconds(); // 秒
      s = s < 10 ? '0' + s : s;
      return y + '-' + MM + '-' + d + ' ' + '00' + ':' + '00' + ':' + '00';
      // return y + '-' + MM + '-' + d ;
    }
  },
  调用  formatDate(new Date(new Date().getFullYear(),new Date().getMonth(),
            new Date().getDate() - 1,0));

2.获取当前时间的前后几天

  //day:-1昨天
  getDay: (day) => {
    var today = new Date();

    var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;

    today.setTime(targetday_milliseconds); //注意,这行是关键代码

    var tYear = today.getFullYear();

    var tMonth = today.getMonth();

    var tDate = today.getDate();

    tMonth = doHandleMonth(tMonth + 1);

    tDate = doHandleMonth(tDate);

    return tYear + '-' + tMonth + '-' + tDate;
  },

function doHandleMonth(month) {
  var m = month;

  if (month.toString().length == 1) {
    m = '0' + month;
  }

  return m;
}

3.获取上个月的今天

//获取上个月的今天
  getPreDay: () => {
    var date = new Date(); // 获取当前的时间对象
    var year = date.getFullYear();
    var month = date.getMonth();
    var day = date.getDate(); // 获取到当前天
    // 上个月
    var preYear = year;
    var preMon = parseInt(month);
    // 如果preMon等于0,让年份减去1,月份等于12
    if (preMon === 0) {
      preYear = parseInt(preYear) - 1;
      preMon = 12;
    }
    var preDay = day;
    var preDays = new Date(preYear, preMon, 0); // 获取到一个月的所有天数
    if (preDay > preDays) {
      preDay = preDays;
    }
    if (preMon < 10) {
      preMon = '0' + preMon;
    }
    if (preDay < 0) {
      preDay = '0' + preDay;
    }

    var pre = preYear + '-' + preMon + '-' + preDay;
    return pre;
  },

4.获取上个月

getPreMonth() {
    var arr = getNowMonth().split('-');
    var year = arr[0]; //获取当前日期的年份
    var month = arr[1]; //获取当前日期的月份

    var year2 = year;
    var month2 = parseInt(month) - 1;
    if (month2 == 0) {
      //1月的上一月是前一年的12月
      year2 = parseInt(year2) - 1;
      month2 = 12;
    }

    if (month2 < 10) {
      //10月之前都需要补0
      month2 = '0' + month2;
    }
    var preMonth = year2 + '-' + month2;
    return preMonth;
  },

5.获取某一天的前一天

//获取某个日期的前一天
  // date 代表指定的日期,格式:2018-09-27
  // day 传-1表始前一天,传1表始后一天
  // JS获取指定日期的前一天,后一天
  getNextDate: (date, day) => {
    var dd = new Date(date);
    dd.setDate(dd.getDate() + day);
    var y = dd.getFullYear();
    var m =
      dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1;
    var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate();
    return y + '-' + m + '-' + d;
  },

6.去年的当天

  //去年的当天
  getLastYear: (yearNum = 1) => {
    let today = new Date(); //当天
    today.setFullYear(today.getFullYear() - yearNum);
    return today;
  },



版权声明:本文为lxuanz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。