注:这里只写在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(); };