美文网首页
小程序获取当前时段(本天,本周,本月,本季,本年,自定义时段)

小程序获取当前时段(本天,本周,本月,本季,本年,自定义时段)

作者: 小怂本怂 | 来源:发表于2018-12-18 13:49 被阅读0次

小程序项目中,获取本周,本月,本季,本年的 第一天和最后一天 废话不多说,上代码

准备阶段JS:

constructor() {

    this.now = new Date();

    this.nowYear = this.now.getYear(); //当前年

    this.nowMonth = this.now.getMonth(); //当前月

    this.nowDay = this.now.getDate(); //当前日

    this.nowDayOfWeek = this.now.getDay(); //今天是本周的第几天

    this.nowYear += (this.nowYear < 2000) ? 1900 : 0;

}

//格式化数字

formatNumber(n) {

    n = n.toString()

    return n[1] ? n : '0' + n

}

//格式化日期

formatDate(date) {

    let myyear = date.getFullYear();

    let mymonth = date.getMonth() + 1;

    let myweekday = date.getDate();

    return [myyear, mymonth, myweekday].map(this.formatNumber).join('-');

}

//获取某月的天数

getMonthDays(myMonth) {

    let monthStartDate = new Date(this.nowYear, myMonth, 1);

    let monthEndDate = new Date(this.nowYear, myMonth + 1, 1);

    let days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);

    return days;

}

//获取本季度的开始月份

getQuarterStartMonth() {

    let startMonth = 0;

    if (this.nowMonth < 3) {

      startMonth = 0;

    }

    if (2 < this.nowMonth && this.nowMonth < 6) {

      startMonth = 3;

    }

    if (5 < this.nowMonth && this.nowMonth < 9) {

      startMonth = 6;

    }

    if (this.nowMonth > 8) {

      startMonth = 9;

    }

    return startMonth;

}

时段函数JS:

//获取今天的日期

  getNowDate() {

    return this.formatDate(new Date(this.nowYear, this.nowMonth, this.nowDay));

  }

  //获取本周的开始日期

  getWeekStartDate() {

    return this.formatDate(new Date(this.nowYear, this.nowMonth, this.nowDay - this.nowDayOfWeek + 1));

  }

  //获取本周的结束日期

  getWeekEndDate() {

    return this.formatDate(new Date(this.nowYear, this.nowMonth, this.nowDay + (6 - this.nowDayOfWeek + 1)));

  }

  //获取本月的开始日期

  getMonthStartDate() {

    return this.formatDate(new Date(this.nowYear, this.nowMonth, 1));

  }

  //获取本月的结束日期

  getMonthEndDate() {

    return this.formatDate(new Date(this.nowYear, this.nowMonth, this.getMonthDays(this.nowMonth)));

  }

  //获取本季度的开始日期

  getQuarterStartDate() {

    return this.formatDate(new Date(this.nowYear, this.getQuarterStartMonth(), 1));

  }

  //获取本季度的结束日期

  getQuarterEndDate() {

    return this.formatDate(new Date(this.nowYear, this.getQuarterStartMonth() + 2, this.getMonthDays(this.getQuarterStartMonth() + 2)));

  }

  //获取本年的开始日期

  getYearStartDate() {

    return this.formatDate(new Date(this.nowYear, 0, 1));

  }

  //获取本年的结束日期

  getYearEndDate() {

    return this.formatDate(new Date(this.nowYear, 11, 31));

  }

使用方法:

  1,引入JS:

     import { GetPeriod } from '../../utils/getperiod.js'

2,使用JS:

    const Getperiod = new GetPeriod()

   let startweek = Getperiod.getWeekStartDate()   \\ 获取本周第一天

项目地址:

https://github.com/Rattenking/GetPeriod

原文链接:

https://blog.csdn.net/weixin_41871290/article/details/80493882

相关文章

网友评论

      本文标题:小程序获取当前时段(本天,本周,本月,本季,本年,自定义时段)

      本文链接:https://www.haomeiwen.com/subject/fezkkqtx.html