• 关于时间常用的一些函数的封装


    保存一些常用的时间函数的封装

    1、首先是时间格式化函数

    // 时间格式化函数 formatDate(new Date(),"yyyy-MM-dd hh:mm:ss");
    export function formatDate(date, fmt) {
      if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
      }
      let o = {
        'M+': date.getMonth() + 1,
        'd+': date.getDate(),
        'h+': date.getHours(),
        'm+': date.getMinutes(),
        's+': date.getSeconds()
      };
      for (let k in o) {
        if (new RegExp(`(${k})`).test(fmt)) {
          let str = o[k] + '';
          fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
        }
      }
      return fmt;
    };

    这基本上也算是最常用的了,就是把一个时间对象,转换成为一个字符串时间

    2、获取一下常用的时间字符串,比方说,这周的开始时间,这周的结束时间(周六为一周的最后一天)

    var now = new Date(); //当前日期
    var nowDayOfWeek = now.getDay(); //今天本周的第几天
    var nowDay = now.getDate(); //当前日
    var nowMonth = now.getMonth(); //当前月
    var nowYear = now.getYear(); //当前年
    nowYear += (nowYear < 2000) ? 1900 : 0; //
    var lastMonthDate = new Date(); //上月日期
    lastMonthDate.setDate(1);
    lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
    var lastYear = lastMonthDate.getFullYear();
    var lastMonth = lastMonthDate.getMonth();
    // console.log(lastYear)
    //格式化日期:yyyy-MM-dd
    function formatDateOther(date) {
      var myyear = date.getFullYear();
      var mymonth = date.getMonth() + 1;
      var myweekday = date.getDate();
      if (mymonth < 10) {
        mymonth = "0" + mymonth;
      }
      if (myweekday < 10) {
        myweekday = "0" + myweekday;
      }
      return (myyear + "-" + mymonth + "-" + myweekday);
    }
    //获得某月的天数
    function getMonthDays(myMonth) {
      var monthStartDate = new Date(nowYear, myMonth, 1);
      var monthEndDate = new Date(nowYear, myMonth + 1, 1);
      var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
      return days;
    }
    //获得本季度的开始月份
    function getQuarterStartMonth() {
      var quarterStartMonth = 0;
      if (nowMonth < 3) {
        quarterStartMonth = 0;
      }
      if (2 < nowMonth && nowMonth < 6) {
        quarterStartMonth = 3;
      }
      if (5 < nowMonth && nowMonth < 9) {
        quarterStartMonth = 6;
      }
      if (nowMonth > 8) {
        quarterStartMonth = 9;
      }
      return quarterStartMonth;
    }
    //获得本周的开始日期
    function getWeekStartDate() {
      var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
      return formatDateOther(weekStartDate);
    }
    //获得本周的结束日期
    function getWeekEndDate() {
      var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
      return formatDateOther(weekEndDate);
    }
    //获得上周的开始日期
    function getLastWeekStartDate() {
      var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 7);
      return formatDateOther(weekStartDate);
    }
    //获得上周的结束日期
    function getLastWeekEndDate() {
      var weekEndDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 1);
      return formatDateOther(weekEndDate);
    }
    //获得本月的开始日期
    function getMonthStartDate() {
      var monthStartDate = new Date(nowYear, nowMonth, 1);
      return formatDateOther(monthStartDate);
    }
    //获得本月的结束日期
    function getMonthEndDate() {
      var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
      return formatDateOther(monthEndDate);
    }
    //获得上月开始时间
    function getLastMonthStartDate() {
      var lastMonthStartDate = new Date(lastYear, lastMonth, 1);
      return formatDateOther(lastMonthStartDate);
    }
    //获得上月结束时间
    function getLastMonthEndDate() {
      var lastMonthEndDate = new Date(lastYear, lastMonth, getMonthDays(lastMonth));
      return formatDateOther(lastMonthEndDate);
    }
    //获得本季度的开始日期
    function getQuarterStartDate() {
      var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);
      return formatDateOther(quarterStartDate);
    }
    //或的本季度的结束日期
    function getQuarterEndDate() {
      var quarterEndMonth = getQuarterStartMonth() + 2;
      var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
      return formatDateOther(quarterStartDate);
    }
  • 相关阅读:
    pugixml
    C++ 头文件的理解
    图像的特征
    光圈与景深
    Unix高级环境编程
    用libtommath实现RSA算法
    【linux+C】神器 vim + 指针相关客串
    【算法25】对称子字符串的最大长度
    设计并实现同时支持多种视频格式的流媒体点播系统
    递归再一次让哥震惊了
  • 原文地址:https://www.cnblogs.com/daniao11417/p/15146369.html
Copyright © 2020-2023  润新知