009-vue之日期操作相关函数

原创 2018年04月16日 11:19:43
/**
 * 日期操作相关函数
 */
export function dateTimeFormatter (date ,format) {
    // 时间格式化辅助函数 date:毫秒数 format:'yyyy-MM-dd hh:mm:ss'
    if (!date || date == "") {
        return ""
    }

    if (typeof date === "string") {
        var mts = date.match(/(\/Date\((\d+)\)\/)/);
        if (mts && mts.length >= 3) {
            date = parseInt(mts[2])
        }
    }

    date = new Date(date);
    if (!date || date.toUTCString() == "Invalid Date") {
        return ""
    }

    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, function(all, t){
        var v = map[t];
        if(v !== undefined){
            if(all.length > 1){
                v = '0' + v;
                v = v.substr(v.length-2)
            }
            return v
        }
        else if(t === 'y'){
            return (date.getFullYear() + '').substr(4 - all.length)
        }
        return all
    });

    return format
}


export function isEqualDateStr (dateStr1, dateStr2) {
    let dateArr1 = dateStr1.split('/');
    let dateArr2 = dateStr2.split('/');
    if (parseInt(dateArr1[0], 10) !== parseInt(dateArr2[0], 10)) {
        return false
    }
    if (parseInt(dateArr1[1], 10) !== parseInt(dateArr2[1], 10)) {
        return false
    }
    if (parseInt(dateArr1[2], 10) !== parseInt(dateArr2[2], 10)) {
        return false
    }
    return true
}


/**
 * 格式化时间转变为: 2017年10月10日 10时10分10秒
 * @param date 2017/10/10
 * @param mat_arr   [年,月,日 ....]  非必填
 * @returns {string} 返回格式化好的时间格式
 */
export function data_format(date,_mat_arr) {
    //默认格式
    let mat_arr = ['年','月','日'];
    if(_mat_arr){
        mat_arr = _mat_arr;
    }
    if (!date || date == "") {
        return ""
    }
    if (typeof date === "string") {
        var mts = date.match(/(\/Date\((\d+)\)\/)/);
        if (mts && mts.length >= 3) {
            date = parseInt(mts[2])
        }
    }
    date = new Date(date);
    if (!date || date.toUTCString() == "Invalid Date") {
        return ""
    }
    var map = {
        "Y": date.getFullYear(), //年份
        "M": date.getMonth() + 1, //月份
        "d": date.getDate(), //日
        "h": date.getHours(), //小时
        "m": date.getMinutes(), //分
        "s": date.getSeconds() //秒
    };
    //月份补位
    if(map.M && map.M<10){
        map.M = '0'+map.M;
    }
    //time格式化
    let str = '';
    mat_arr.forEach((item,index)=>{
        switch (index){
            case 0:
                str+=`${map.Y}${item}`;break;
            case 1:
                str+=`${map.M}${item}`;break;
            case 2:
                str+=`${map.d}${item}`;break;
            case 3:
                str+=` ${map.h}${item}`;break;
            case 4:
                str+=`${map.m}${item}`;break;
            case 5:
                str+=`${map.s}${item}`;break;
        }
    });
    return str;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liguanjie8/article/details/79958242

C语言系列之 链表与相关操作

-
  • 1970年01月01日 08:00

linux中线程相关函数

linux中线程相关函数2010年03月09日 星期二 22:181. 比较两个线程 ID 是否一致。   线程ID 使用 pthread_t 数据类型来表示。Linux 使用 unsigned lo...
  • zhhxidian2005
  • zhhxidian2005
  • 2010-05-18 20:50:00
  • 1230

SQL 日期函数相关

 DATEPART     返回代表指定日期的指定日期部分的整数。         语法     DATEPART   (   datepart   ,   date   )           参数...
  • iceman1983
  • iceman1983
  • 2007-03-13 13:16:00
  • 1051

javascript日期时间操作总结

js获得当前系统日期时间       js时间显示     var curr_time = new Date();  var strDate = curr_time.get...
  • bcbobo21cn
  • bcbobo21cn
  • 2016-03-02 16:27:16
  • 1831

对于MD04运行完成后,需求日期不准确的更改。

对于MD04运行完成后,需求日期不准确的更改。 *&---------------------------------------------------------------------* *&...
  • wtxhai
  • wtxhai
  • 2016-08-18 17:05:00
  • 907

模块2

# coding=utf-8 ''' 习题一: 1.1用time模块获取当前的时间戳. 1.2用datetime获取当前的日期,例如:2013-03-29 1.3用datetime返回一个月前的日期...
  • qq277511467
  • qq277511467
  • 2014-12-08 14:13:02
  • 567

mysql时间相关函数总结

时间戳: 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。 mysql中指的日期、时间: 就是一个标准格式的日期、时...
  • u012922219
  • u012922219
  • 2016-06-23 14:12:49
  • 267

python3 时间日期处理函数

time 模块处理时间python 提供了 time 模块用于处理时间和格式化时间,和 Java 不同,python 的时间戳是以秒单位的浮点数(距离 1970-1-1 00:00:00)获取当前时间...
  • mrlida
  • mrlida
  • 2018-04-17 11:10:32
  • 15

oracle日期函数及相关查询日期所用的函数

1、查询本周一和本周日          select to_date(next_day(sysdate-7,2)) 周一, to_date(next_day(sysdate,1)) 周日 from ...
  • u010050174
  • u010050174
  • 2013-11-08 08:49:16
  • 813

日期类之运算符重载

运算符重载
  • adorable_
  • adorable_
  • 2018-03-26 18:34:28
  • 42
收藏助手
不良信息举报
您举报文章:009-vue之日期操作相关函数
举报原因:
原因补充:

(最多只允许输入30个字)