博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何用正则匹配时间格式
阅读量:6626 次
发布时间:2019-06-25

本文共 1135 字,大约阅读时间需要 3 分钟。

在实际项目需求中,如评论时间,上传时间等经常需要用到处理时间戳的问题,后端传给了我们一串数字的时间戳,那么如何利用正则快速的去处理它,得到我们想要的格式呢?

如后端给到的是1469281964000,需要转成成yyyy-MM-dd hh:mm格式

function formatDate(date,fmt){    //替换年,匹配到以y开头的一个或者多个字符串    //RegExp.$1 匹配到括号里的值,然后转化成字符串。然后截取字符串控制start,可能结果是2016或者16(4改为2的时候)    if(/(y+)/.test(fmt)){        fmt = fmt.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){        //遍历对象,判断是否符合格式,符合的话,就去替换fmt对应位置(匹配到的)        if(new RegExp(`(${k})`).test(fmt)){            let str = o[k] + '';            fmt = fmt.replace(RegExp.$1,(RegExp.$1.length===1)?str:padLeftZero(str))//补零操作        }    }    return fmt;};function padLeftZero(str) {    return ('00' + str).substr(str.length);}

最终我们将会得到的结果是 2016-07-23 21:52 

可以把该函数单独封装成一个js文件模块,输出到其他模块中使用,需要注意的是:函数的输出直接是export 而不像一般的export default,如export function formatDate(date,fmt),并且引用时候需要需要拿花括号包起来import {formatDate} from '/date.js' 。

转载于:https://www.cnblogs.com/hjj2ldq/p/7566121.html

你可能感兴趣的文章
为了好好看球,学霸们用深度学习重建整个比赛3D全息图
查看>>
浅谈持续集成
查看>>
【ZH奶酪】如何用textgenrnn处理中文
查看>>
CentOS双机中Docker下安装Mysql并配置互为主从模式
查看>>
OkHttp3源码详解(六) Okhttp任务队列工作原理
查看>>
这样做,轻松在Word中使用MathType
查看>>
VS Code非英语版本连接TFS错误解决方案
查看>>
angular5中使用jsonp请求页面
查看>>
sql in not in 案例用 exists not exists 代替
查看>>
使用newtonjson解决Json日期格式问题
查看>>
WEB前端资源代码:学习篇
查看>>
Nginx安装及配置详解【转】
查看>>
vue2.0 :style :class样式设置
查看>>
测不准原理主要指向微观
查看>>
Android之ExpandableList扩展用法(基于BaseExpandableListAdapter)
查看>>
解决注册表映像劫持
查看>>
怎样获取Web应用程序的路径
查看>>
xcode crash 查找 EXC_BAD_ACCESS 问题根源的方法
查看>>
linux下为php添加mongodb扩展
查看>>
使用java.util.concurrent.ThreadFactory来创建线程
查看>>