首页 > 其他分享 >js 日期格式化

js 日期格式化

时间:2022-10-08 19:22:42浏览次数:63  
标签:格式化 fmt length ret js 日期 toString date RegExp

用法 :

//2022-10-06 22:01:09
formatDate("yyyy-MM-dd hh:mm:ss", new Date());

//2022-10-06 22:01:09
dateFormat("yyyy-MM-dd hh:mm:ss", new Date(1665064915000));

函数定义:

//此函数和下面的函数功能一致
function formatDate(fmt, date) { 
     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()             //毫秒 
    }; 
    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 dateFormat(fmt, date) {
    let ret;
    const opt = {
        "Y+": date.getFullYear().toString(),        // 年
        "m+": (date.getMonth() + 1).toString(),     // 月
        "d+": date.getDate().toString(),            // 日
        "H+": date.getHours().toString(),           // 时
        "M+": date.getMinutes().toString(),         // 分
        "S+": date.getSeconds().toString()          // 秒
        // 有其他格式化字符需求可以继续添加,必须转化成字符串
    };
    for (let k in opt) {
        ret = new RegExp("(" + k + ")").exec(fmt);
        if (ret) {
            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
        };
    };
    return fmt;
}

 

标签:格式化,fmt,length,ret,js,日期,toString,date,RegExp
From: https://www.cnblogs.com/wangfx/p/16769966.html

相关文章

  • JSON语法格式
    javascript作用:改变HTML内容JavaScript内嵌于HTML网页中,通过浏览器内置的JavaScript引擎进行解释执行,把一个原本只用来显示的页面转变成支持用户交互的页面程序。Javascr......
  • js字符串
    字符串声明1.直接声明 varstr='hello'2.使用new关键字(会开辟新的内存空间)varstr=newString('hello')newString和String的区别 前者开辟空间后者只是进行......
  • video.js使用总结
    video.js使用总结video.js是通过HTML5将原生的video标签进行渲染的js开源工具。拥有更多的API,进行个性化定制。在vue项目中引入video.jspackage.json:"dependencies":......
  • vue.js3:用el-loading显示加载动画([email protected] / [email protected])
    一,el-loading1,文档地址:https://element-plus.gitee.io/zh-CN/component/loading.html2, 查看element-plus的版本:liuhongdi@lhdpc:/data/vue/imgtouch$npmlist......
  • net中c#教程 Json字符串的常用操作
    json字符串格式的出现,大大地方便了不同系统间的数据传输,无论是Net项目还是Java项目都适用。今天就分享几个json的常用操作。我们是基于Newtonsoft.Json这个第三方类库实现......
  • Collecting package metadata (current_repodata.json): failed--2个解决方案
    问题描述:在​​cmd.exe​​​中新建​​Python​​​环境,报错​​Collectingpackagemetadata(current_repodata.json):failed​​报错界面寻找问题所在重装过anaconda,在......
  • js检测数据类型得四种方式
    1.typeof:返回一个字符串,表示操作数的类型。  语法:typeof(变量)//ortypeof变量示例:  console.log(typeof2)//number  console.log(type......
  • 企业微信第三方开发JSApi调用previewFile没反应 无报错
    在开发企业微信第三方应用时,使用JSApi。初始化wx.config时没有报错,并在jsApiList里加上了previewFile。经过测试,发现IPhone端wx.previewFile为undefined。当前调用方式:......
  • JS工具函数助力高效开发
    校验数据类型exportconsttypeOf=function(obj){returnObject.prototype.toString.call(obj).slice(8,-1).toLowerCase();};开启全屏exportconstlaunch......
  • linux 前端 jenkins打包失败 permission 权限安装 root 安装nodejs,没有权限,另一个账号
    linux前端jenkins打包失败permission权限安装root安装nodejs,没有权限,另一个账号,需要chkmod将文件权限打开开始以为nodejs版本问题最后发现是安装nodejs是一个账......