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 相关文章推荐
javascript编程起步(第二课)
Jan 10 Javascript
js 窗口抖动示例
Sep 04 Javascript
jQuery实现带动画效果的多级下拉菜单代码
Sep 08 Javascript
Node.js实现JS文件合并小工具
Feb 02 Javascript
js表单元素checked、radio被选中的几种方法(详解)
Aug 22 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
Sep 08 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
Nov 16 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
Oct 31 Javascript
微信小程序实现笑脸评分功能
Nov 03 Javascript
bootstrap table.js动态填充单元格数据的多种方法
Jul 18 Javascript
vue 解决form表单提交但不跳转页面的问题
Oct 30 Javascript
ES6中Promise的使用方法实例总结
Feb 18 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学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
基于Jquery easyui 选中特定的tab
2015/11/17 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
js捆绑TypeScript声明文件的方法教程
2018/04/13 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
2017/08/18 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
python解包概念及实例
2021/02/17 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
工程总经理工作职责
2013/12/09 职场文书
求职自我推荐信
2014/06/25 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python