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部分(二)
Jan 18 Javascript
JavaScript中的noscript元素属性位置及作用介绍
Apr 11 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
Dec 08 Javascript
jQuery中mouseover事件用法实例
Dec 26 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
Jan 15 Javascript
使用Script元素发送JSONP请求的方法
Jun 12 Javascript
JS实现HTML标签转义及反转义
Apr 14 Javascript
十个免费的web前端开发工具详细整理
Sep 18 Javascript
vue中使用refs定位dom出现undefined的解决方法
Dec 21 Javascript
vue使用recorder.js实现录音功能
Nov 22 Javascript
weui上传多图片,压缩,base64编码的示例代码
Jun 22 Javascript
vue.js实现双击放大预览功能
Jun 23 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用GD库生成高质量的缩略图片
2011/03/09 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
2013/06/17 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
一个简单的JS鼠标悬停特效具体方法
2013/06/17 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
ES6中定义类和对象的方法示例
2019/07/31 Javascript
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
python绘制条形图方法代码详解
2017/12/19 Python
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
Python调用.NET库的方法步骤
2019/12/27 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
公司薪酬管理制度
2014/01/31 职场文书
师恩难忘教学反思
2014/04/27 职场文书
建筑安全标语
2014/06/07 职场文书
小学综合实践活动总结
2014/07/07 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
2019邀请函格式及范文
2019/05/20 职场文书
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers