JavaScript实现的一个日期格式化函数分享


Posted in Javascript onDecember 06, 2014

由于在工作中,经常需要对日期进行格式化,不像后端那样,有方便的方法可调用,可以在date的对象prototype中定义一个format方法,见如下:

// 日期时间原型增加格式化方法

Date.prototype.Format = function (formatStr) {

    var str = formatStr;

    var Week = ['日', '一', '二', '三', '四', '五', '六'];
    str = str.replace(/yyyy|YYYY/, this.getFullYear());

    str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));

    var month = this.getMonth() + 1;

    str = str.replace(/MM/, month > 9 ? month.toString() : '0' + month);

    str = str.replace(/M/g, month);
    str = str.replace(/w|W/g, Week[this.getDay()]);
    str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());

    str = str.replace(/d|D/g, this.getDate());
    str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());

    str = str.replace(/h|H/g, this.getHours());

    str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());

    str = str.replace(/m/g, this.getMinutes());
    str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());

    str = str.replace(/s|S/g, this.getSeconds());

    return str;

}

调用的时候比较简单,比如:

var d = new Date();

var str = d.Format("yyyy-MM-dd  hh:mm:ss");

console.log(str);
Javascript 相关文章推荐
Prototype使用指南之enumerable.js
Jan 10 Javascript
javascript编程起步(第七课)
Jan 10 Javascript
window.onload和$(function(){})的区别介绍
Oct 30 Javascript
jQuery表格行上移下移和置顶的实现方法
Oct 08 Javascript
js窗口关闭提示信息(兼容IE和firefox)
Oct 23 Javascript
JavaScript是如何实现继承的(六种方式)
Mar 31 Javascript
js与jquery分别实现tab标签页功能的方法
Nov 18 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&”)
Dec 23 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
Jan 08 Javascript
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
Jul 27 Javascript
通过实例了解JS 连续赋值
Sep 24 Javascript
Vue封装Axios请求和拦截器的步骤
Sep 16 Javascript
JavaScript实现twitter puddles算法实例
Dec 06 #Javascript
JavaScript实现的一个计算数字步数的算法分享
Dec 06 #Javascript
angularjs中的e2e测试实例
Dec 06 #Javascript
angularjs中的单元测试实例
Dec 06 #Javascript
angularjs指令中的compile与link函数详解
Dec 06 #Javascript
angularjs的一些优化小技巧
Dec 06 #Javascript
JavaScript开发人员的10个关键习惯小结
Dec 05 #Javascript
You might like
PHP IPV6正则表达式验证代码
2010/02/16 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
thinkphp分页实现效果
2016/10/13 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
跨浏览器开发经验总结(四) 怎么写入剪贴板
2010/05/13 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
js实现拖拽功能
2017/03/01 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
2019/04/14 Javascript
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
详解python3中tkinter知识点
2018/06/21 Python
Python使用while循环花式打印乘法表
2019/01/28 Python
python实现飞机大战游戏
2020/10/26 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
Python实现http接口自动化测试的示例代码
2020/10/09 Python
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
综合实践活动总结
2014/05/05 职场文书
走进敬老院活动总结
2014/07/10 职场文书
树转促学习心得体会
2014/09/10 职场文书
写给女朋友的保证书
2015/05/09 职场文书
Pytest实现setup和teardown的详细使用详解
2021/04/17 Python
python和anaconda的区别
2022/05/06 Python