自定义时间格式封装

自定义时间格式封装

自定义时间格式封装,根据需求自定义自己需要的时间格式即可。
1、时间格式封装dateFunc.js

var shortMonth = [
  'Jan',
  'Feb',
  'Mar',
  'Apr',
  'May',
  'Jun',
  'Jul',
  'Aug',
  'Sep',
  'Oct',
  'Nov',
  'Dec'
]
var defMonthNames = [
  'January',
  'February',
  'March',
  'April',
  'May',
  'June',
  'July',
  'August',
  'September',
  'October',
  'November',
  'December'
]

let dateFunc = {
getDuration (date) {
  // how many days of this month
  let dt = new Date(date)
  var month = dt.getMonth()
  dt.setMonth(dt.getMonth() + 1)
  dt.setDate(0);
  return dt.getDate()
},
changeDay (date, num) {
  let dt = new Date(date)
  return new Date(dt.setDate(dt.getDate()+num))
},
getStartDate(date) {
  // return first day of this month
  // console.log(new Date(date.getFullYear(), date.getMonth(), 1,0,0))
  return new Date(date.getFullYear(), date.getMonth(), 1)
},
getEndDate (date) {
  // get last day of this month
  let dt = new Date(date.getFullYear(),date.getMonth()+1,1,0,0) // 1st day of next month
  return new Date(dt.setDate(dt.getDate()-1)) // last day of this month
},
// 获取当前周日期数组
getDates(date) {
  var new_Date = date
  var timesStamp = new Date(new_Date.getFullYear(),new_Date.getMonth(),new_Date.getDate(),0,0,0).getTime()
  // var timesStamp = new_Date.getTime();
  var currenDay = new_Date.getDay();
  var dates = [];
  for(var i = 0; i < 8; i++) {
      dates.push(new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - (currenDay + 6) % 7)));
  }
  return dates
},
format (date, format, monthNames) {
  monthNames = monthNames || defMonthNames
  if (typeof date === 'string') {
      date = new Date(date.replace(/-/g, '/'))
  } else {
      date = new Date(date)
  }

  var map = {
      'M' : date.getMonth() + 1,
      'd' : date.getDate(),
      'h' : date.getHours(),
      'm' : date.getMinutes(),
      's' : date.getSeconds(),
      'q' : Math.floor((date.getMonth() + 3) / 3),
      'S' : date.getMilliseconds()
  }

  format = format.replace(/([yMdhmsqS])+/g, (all, t) => {
          var v = map[t]
          if (v !== undefined) {
              if (all === 'MMMM') {
                  return monthNames[v - 1]
              }
              if (all === 'MMM') {
                  return shortMonth[v - 1]
              }
              if (all.length > 1) {
                  v = '0' + v
                  v = v.substr(v.length - 2)
              }
              return v
          } else if (t === 'y') {
              return String(date.getFullYear()).substr(4 - all.length)
          }
      return all
  })
  return format
}
}

module.exports = dateFunc

2、将封装好的dateFunc.js引入需要自定义时间格式的组件内即可

import dateFunc from "../../components/dateFunc"

3、然后直接调用该dateFunc.js内封装好的函数即可。下面以’yyyy-MM-dd hh:mm:ss’时间格式举例:

this.queryInfo.deadLine = dateFunc.format(new Date(this.queryInfo.deadLine),'yyyy-MM-dd hh:mm:ss');

4、上述封装的dateFunc.js内包含获取当前日期、月开始日期、月结束日期等、按需自行调用即可。

兄弟萌 睡觉辽!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值