博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript日期格式化指定格式的字符串实现
阅读量:6039 次
发布时间:2019-06-20

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

代码部分

TypeScript

1   /** 2      * format a Date object  3      * 将 Date 转化为指定格式的String 4      * @param {Date} date 源日期对象 5      * @param {string} pattern 匹配模式 6      * @returns {string} 格式化结果 7      */ 8     fmtDate(date: Date, pattern: string) { 9         return pattern10             .replace(/yyyy/, date.getFullYear().toString())11             .replace(/MM/, this.fillZero(date.getMonth() + 1, 'l', 2))12             .replace(/dd/, this.fillZero(date.getDate(), 'l', 2))13             .replace(/hh/, this.fillZero(date.getHours(), 'l', 2))14             .replace(/mm/, this.fillZero(date.getMinutes(), 'l', 2))15             .replace(/ss/, this.fillZero(date.getSeconds(), 'l', 2))16             .replace(/S/, date.getMilliseconds().toString());17     }
View Code

Javascript

1     /** 2      * format a Date object 3      * 将 Date 转化为指定格式的String 4      * @param {Date} date 源日期对象 5      * @param {string} pattern 匹配模式 6      * @returns {string} 格式化结果 7      */ 8     Aqua.prototype.fmtDate = function (date, pattern) { 9         return pattern10             .replace(/yyyy/, date.getFullYear().toString())11             .replace(/MM/, this.fillZero(date.getMonth() + 1, 'l', 2))12             .replace(/dd/, this.fillZero(date.getDate(), 'l', 2))13             .replace(/hh/, this.fillZero(date.getHours(), 'l', 2))14             .replace(/mm/, this.fillZero(date.getMinutes(), 'l', 2))15             .replace(/ss/, this.fillZero(date.getSeconds(), 'l', 2))16             .replace(/S/, date.getMilliseconds().toString());17     };
View Code

 

补零函数 Typescript

/**     * fill 0 to a number     * 数字补零     * @param {number} src 源数字     * @param {string} direction 方向 l r     * @param {number} digit 补零后的总位数     * @returns {string} 结果     */    fillZero(src: number, direction: string, digit: number) {        let count: number = digit - src.toString().length;        let os = new Array(count + 1).join('0');        if (direction !== 'r') {            return os + src;        }        return src + os;    }
View Code

javascript

/**     * fill 0 to a number     * 数字补零     * @param {number} src 源数字     * @param {string} direction 方向 l r     * @param {number} digit 补零后的总位数     * @returns {string} 结果     */    Aqua.prototype.fillZero = function (src, direction, digit) {        var count = digit - src.toString().length;        var os = new Array(count + 1).join('0');        if (direction !== 'r') {            return os + src;        }        return src + os;    };
View Code

 

原理很简单,就不写了

欢迎查看我的GitHub

转载地址:http://dmlhx.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
Java break continue return 的区别
查看>>
算法(Algorithms)第4版 练习 1.3.4
查看>>
jquery easyUI checkbox复选项获取并传后台
查看>>
浅析NopCommerce的多语言方案
查看>>
设计模式之简单工厂模式
查看>>
C++中变量的持续性、链接性和作用域详解
查看>>
2017 4月5日上午
查看>>
Google Chrome开发者工具
查看>>
第一阶段冲刺报告(一)
查看>>
使用crontab调度任务
查看>>
【转载】SQL经验小记
查看>>
zookeeper集群搭建 docker+zk集群搭建
查看>>
Vue2.5笔记:Vue的实例与生命周期
查看>>
论JVM爆炸的几种姿势及自救方法
查看>>
联合体、结构体简析
查看>>
使用throw让服务器端与客户端进行数据交互[Java]
查看>>
java反射与代理
查看>>
深度分析Java的ClassLoader机制(源码级别)
查看>>
微服务架构选Java还是选Go - 多用户负载测试
查看>>