MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

【JS 正则逻辑或 五】使用正则逻辑或实现日期格式

2025-02-24 16:41 huorong 精选文章 3 ℃ 0 评论

之前写了一篇关于自定义日期格式的文章,发现如果使用正则逻辑或来写可以更加的方便实现,而且简单易读,今天来分享一下

正则逻辑或

  • | 是一个元字符,用于表示逻辑“或”的关系。
  • 它允许你匹配多个模式中的任意一个。例如,正则表达式 abc|d 可以匹配字符串 "abc" 或 "abd"。
/**
 * 将日期格式化为指定的字符串格式。
 * 
 * @param {Date | string | number} date - 要格式化的日期,可以是Date对象、日期字符串或时间戳。
 * @param {string} [format='YYYY-MM-DD hh:mm:ss'] - 目标日期格式字符串,默认为'YYYY-MM-DD hh:mm:ss'。
 * @returns {string} 格式化后的日期字符串。
 */

function formatDate(date, format = 'YYYY-MM-DD hh:mm:ss') {
    date = new Date(date||Date.now());
    const year = date.getFullYear();
    const month = date.getMonth() + 1;
    const day = date.getDate();
    const hours = date.getHours();
    const minutes = date.getMinutes();
    const seconds = date.getSeconds();

    let dateObj = {
        YYYY:year,
        YY:year.toString().slice(-2),
        MM:String(month).padStart(2, '0'),
        M:month,
        DD:String(day).padStart(2, '0'),
        D:day,
        hh:String(hours).padStart(2, '0'),
        h:hours,
        mm:String(minutes).padStart(2, '0'),
        m:minutes,
        ss:String(seconds).padStart(2, '0'),
        s:seconds,
        
    }
    
    // 使用正则逻辑或替换格式字符串中的占位符
    return format.replace(/YYYY|YY|MM|M|DD|D|hh|h|mm|m|ss|s/g, (match) => {
      return dateObj[match] || match;
    });
  }


Tags:date_format

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言