1、时间撮转换时间格式方法封装,拿来就可用

注:这里只写在vue中的用法,但是在react与其他框架,用法大体差不多

用法一:
1、在main.js中引入封装代码文件,然后挂载在原型链上,例如:

1、引入

import {
   handlerResDate, timeFormat, formatDate, formatDateTime, timeConversion
} from './until/dateUtil'

2、挂载原型

Vue.prototype.$handlerResDate = handlerResDate
Vue.prototype.$timeFormat = timeFormat
Vue.prototype.$formatDate = formatDate
Vue.prototype.$formatDateTime = formatDateTime
Vue.prototype.$timeConversion = timeConversion

3、在需要应用的页面,使用方法

this.$handlerResDate(时间撮类型)
this.timeConversion(时间,格式) => this.timeConversion(1395057445653,'YY-MM-DD') 

用法二:在需要用到的页面直接引入、使用,例如:

1、引入

import { dateUtil } from './until/dateUtil'

2、使用

dateUtil.handlerResDate(时间撮)
this.timeConversion(时间,格式) => this.timeConversion(1395057445653,'YY-MM-DD') 

方法:

1、 判断时间戳,解析为时间字符串

export function handlerResDate(res) {
  const reg = new RegExp('^[0-9]{10}[0][0][0]$');
  for (let key in res) {
    if (reg.test(res[key])) {
      res[key] = filterTime(res[key])
    }
  }
  return res
}

2、将分秒时间格式化为 2019-00-00 00:00:00 类型
//备注:
// new Date(time - 0)时减0,是因为后台返回的是字符串,减0去掉" ",变为number类型
// 也可以 new Date(number(time)),直接转换

export function timeFormat(time) {
  let now = new Date(time - 0);
  let year = now.getFullYear()
  let month = now.getMonth() + 1
  let date = now.getDate()
  let hour = now.getHours()
  let minute = now.getMinutes()
  let second = now.getSeconds()
  // return year + '-' + month + '-' + date + ' ' + hour + ':' + minute + ':' + second
  return [year, month, day, hour, minute, second].join('-');
};

3、 将分秒时间格式化为 2019-00-00 类型

export function formatDate(time) {
  var date = new Date(time - 0);
  var year = date.getFullYear();
  var month = date.getMonth() + 1;
  var day = date.getDate();
  return [year, month, day].join('-');
};

4、 时间戳格式化  2019-00-00 00:00:00 

export function formatDateTime(inputTime) {
  if (inputTime) {
    var date = new Date(inputTime - 0)
    var y = date.getFullYear()
    var m = date.getMonth() + 1
    m = m < 10 ? ('0' + m) : m
    var d = date.getDate()
    d = d < 10 ? ('0' + d) : d
    var h = date.getHours()
    h = h < 10 ? ('0' + h) : h
    var minute = date.getMinutes()
    var second = date.getSeconds()
    minute = minute < 10 ? ('0' + minute) : minute
    second = second < 10 ? ('0' + second) : second
    return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
  }
}

expor function timeConversion (timestamp, option) {
  if (!timestamp) return 0;
  var date = getDate(timestamp);
  var year = date.getFullYear();
  var month = date.getMonth() + 1;
  var fmonth = month > 9 ? month : '0' + month;
  var day = date.getDate();
  var fday = day > 9 ? day : '0' + day;
  var hour = function () {
    return date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
  };
  var minute = function () {
    return date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
  };
  var second = function () {
    return date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
  };
  // 获取 年月日
  if (option === 'YY-MM-DD') return ' ' + year + '-' + fmonth + '-' + fday;
  // 获取年月
  if (option === 'YY-MM') return ' ' + year + '-' + month;
  //  获取月日
  if (option === 'MM-DD') return month + '月' + day + '日';
  if (option === 'MM-DD-down') return month + '月' + fday + '日' + hour() + ':' + minute() + ':' + second() + '结束';
  if (option === 'mm-dd') return month + '-' + day;
  if (option === 'mm-dd hh-mm-ss') return month + '-' + day + ' ' + hour() + ':' + minute() + ':' + second();
  // 获取年
  if (option === 'YY') return ' ' + year;
  // 获取月
  if (option === 'MM') return ' ' + month;
  // 获取日
  if (option === 'DD') return ' ' + day;
  // 获取昨天
  if (option === 'yesterday') return ' ' + day - 1;
  // 获取时分秒
  if (option === 'hh-mm-ss') return ' ' + hour() + ':' + minute() + ':' + second();
  // 获取时分
  if (option === 'hh-mm') return ' ' + hour() + ':' + minute();
  // 获取分秒
  if (option === 'mm-ss') return minute() + ':' + second();
  // 获取分
  if (option === 'mm') return minute();
  // 获取秒
  if (option === 'ss') return second();
  // 默认时分秒年月日
  return year + '-' + month + '-' + day + ' ' + hour() + ':' + minute() + ':' + second();
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值