项目中相信大家多多少少都会用到,用来处理时间格式得问题,在项目建立一个data文件把下面代码放进去
export function formatDate(date, format) {
if (/(y+)/.test(format)) {
format= format.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(format)) {
let str = o[k] + '';
format= format.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
}
}
return format;
};
function padLeftZero(str) {
return ('00' + str).substr(str.length);
};
用法
import {formatDate} from "../../date/date.js"
//引入过后直接使用
formatDate(date, 'yyyy-MM-dd') //返回
formatDate(date, 'yyyy-MM-dd hh:mm:ss') //
下面是获取----年–月--日 时:分:秒
同样我们可以把下面得代码放到同一个文件下
// 本地时间转换封装 val== 1 表示 -年-月-日 ; val == 2 表示 时:分 ; val == 3 表示 -年-月-日 星期- 默认 -年-月-日
export function getNowTime(date, val) {
// let date = new Date();
val ? val : val = 1
const dateObj = {
year : date.getFullYear(),
month : date.getMonth() + 1,
dates : date.getDate(),
hour : date.getHours() < 10 ? "0" + date.getHours() : date.getHours(),
minute : date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(),
second : date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds(),
}
let day = [0, 1, 2, 3, 4, 5, 6];
let dayChinse = ['日', '一', '二', '三', '四', '五', '六']
let myDate;
day.map(x => { date.getDay() == x ? myDate = dayChinse[x] : '' })
if (val == 1) {
return ` ${dateObj.year}年${dateObj.month}月${dateObj.dates}日`;
} else if (val == 2) {
return ` ${dateObj.hour}:${dateObj.minute}`;
} else {
return ` ${dateObj.year}年${dateObj.month}月${dateObj.dates}日 星期${myDate}`;
}
}
//后期根据不同需求返回不用时间格式 兼容IE
调用得时候
import {getNowTime} from "../../date/date.js"
//引入过后直接使用
getNowTime(new Date()) //默认用法
getNowTime(new Date(),1) //