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 相关文章推荐
js cookies实现简单统计访问次数
Nov 24 Javascript
javascript preload&lazy load
May 13 Javascript
jquery中获取元素的几种方式小结
Jul 05 Javascript
jquery获取选中的文本和值的方法
Jul 08 Javascript
图解JavaScript中的this关键字
May 28 Javascript
js点击文本框弹出可选择的checkbox复选框
Feb 03 Javascript
js基于cookie记录来宾姓名的方法
Jul 19 Javascript
清除输入框内的空格
Dec 21 Javascript
JavaScript+CSS相册特效实例代码
Sep 07 Javascript
对vuex中getters计算过滤操作详解
Nov 06 Javascript
vue单文件组件无法获取$refs的问题
Jun 24 Javascript
Ajax实现页面无刷新留言效果
Mar 24 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
多数据表共用一个页的新闻发布
2006/10/09 PHP
Views rows style模板重写代码
2011/05/16 PHP
PHP 第一节 php简介
2012/04/28 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
php实现session共享的实例方法
2019/09/19 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
python中实现php的var_dump函数功能
2015/01/21 Python
Linux下多个Python版本安装教程
2018/08/15 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
python实现单链表的方法示例
2019/09/03 Python
Python谱减法语音降噪实例
2019/12/18 Python
python实现在一个画布上画多个子图
2020/01/19 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
服务理念口号
2014/06/11 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
群众路线专项整治方案
2014/10/27 职场文书
2014年售票员工作总结
2014/11/19 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
初中生物教学反思
2016/02/20 职场文书
检讨书格式
2019/04/25 职场文书
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle
详解flex:1什么意思
2022/07/23 HTML / CSS