日期格式转换

2018-08-20  本文已影响0人  _daraDu
//对Date的扩展,将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
//例子:
//(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
//(new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
function dateFormat(date,fmt) { //author: meizz
    fmt = fmt || 'yyyy-MM-dd hh:mm:ss'
    var o = {
        "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(), //毫秒
        "T": "T" //datetime-local的分隔符
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}

//长日期
function longDateFormat(date) {
    return dateFormat(date, 'yyyy-MM-dd hh:mm:ss');
}

//短日期
function shortDateFormat(date) {
    return dateFormat(date, 'yyyy-MM-dd');
}

/**
 * 比较两个时间
 * @param d1
 * @param d2
 * @returns {boolean}
 * @constructor
 */
function compareDate(d1,d2)
{
    return ((new Date(d1.replace(/-/g,"\/"))) > (new Date(d2.replace(/-/g,"\/"))));
}

es6字符串方法
padStart()方法,padEnd()方法
字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。
https://blog.csdn.net/ixygj197875/article/details/79090578

//日期个位数自动补0
 setInterval(() => { 
        const now = new Date() 
        const hours = now.getHours().toString() 
        const minutes = now.getMinutes().toString() 
        const seconds = now.getSeconds().toString() 
        console.log(`${hours.padStart(2, 0)}:${minutes.padStart(2, 0)}:${seconds.padStart(2, 0)}`) }, 10000)

上一篇下一篇

猜你喜欢

热点阅读