日期时间(封装)

JS获取系统时间


  function getSystemDate() {
    var systemDate = new Date();
    var year = systemDate.getFullYear();  // 获取当年
    var month = systemDate.getMonth() + 1;// 获取当月 (月+1是因为js中月份是按0开始的)
    var day = systemDate.getDate();       // 获取当日

    if (day < 10) {   // 如果日小于10,前面拼接0
      day = '0' + day;
    }

    if (month < 10) { // 如果月小于10,前面拼接0
      month = '0' + month;
    }

    return [year, month, day].join('-');
  }

获取一周


  function getWeek(Fn) {
    var date = new Date();       // 按周日为一周的最后一天计算
    var today = date.getDay();   // 今天是这周的第几天
    var stepSunDay = -today + 1; // 上周日距离今天的天数(负数表示)

    if (today === 0) {
      stepSunDay = -7;// 如果今天是周日
    }

    // 周一距离今天的天数(负数表示)
    var stepMonday = 7 - today;
    var time = date.getTime();

    var monday = new Date(time + stepSunDay * 24 * 3600 * 1000);
    var sunday = new Date(time + stepMonday * 24 * 3600 * 1000);

    var startDate = transferDate(monday); //本周一的日期 (起始日期)
    var endDate = transferDate(sunday); //本周日的日期 (结束日期)

    return startDate + ' - ' + endDate;
  }

获取某月所有日期

  function getMonth(m) {
    var arr = [];

    // 获取当前月的第一天
    var start = new Date();
    start.setDate(1);    // 设置日期

    // 获取当前月的最后一天
    var date = new Date();
    date.setMonth(m - 1, 1);  // 设置月份
    var nextMonth = date.getMonth() + 1;
    var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
    var oneDay = 1000 * 60 * 60 * 24;
    var end = new Date(nextMonthFirstDay - oneDay);

    var startDate = transferDate(start); // 当月第一天
    var endDate = transferDate(end);     // 当月最后一天

    var len = endDate.substr(8);         // 最后一天是几号

    for (var i = 1; i <= len; i++) {
      var date = new Date();
      date.setMonth(m - 1, 1);// 设置月份
      date.setDate(i);        // 设置日期
      arr.push(transferDate(date));
    }

    return arr;
  }

日期变换


  function transferDate(date) {
    var year = date.getFullYear();   // 年
    var month = date.getMonth() + 1; // 月
    var day = date.getDate();        // 日

    if (month >= 1 && month <= 9) {
      month = "0" + month;
    }

    if (day >= 0 && day <= 9) {
      day = "0" + day;
    }

    return [year, month, day].join('-');
  }

 

转载于:https://my.oschina.net/u/3398936/blog/3024202

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值