formatDate时间格式化封装包含(yyyy-MM-dd hh:mm:ss;----年--月--日 时:分:秒)

项目中相信大家多多少少都会用到,用来处理时间格式得问题,在项目建立一个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)  //

你可能感兴趣的:(js)