js版格式化输出时间
2016-06-27 23:59
375 查看
实现方式
通过js的原型方法,实现方法的扩展;通过正则表达式匹配时间格式,然后替换为数据;利用正则表达式的其中一个好处是能够获取格式的长度信息,从而让数据格式化输出;
代码
if (!Date.prototype.Format) { Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) { fmt = fmt.replace( RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length) ); } for (var k in o) { if (new RegExp("(" + k + ")").test(fmt)) { fmt = fmt.replace( RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)) ); } } return fmt; }
注:
1)RegExp.$1是RegExp的一个属性,指的是与正则表达式匹配的第一个 子匹配(以括号为标志)字符串,以此类推,
RegExp.$2..RegExp.$99总共可以有99个匹配; 用于exec()或test()之后;
Demo
var date = new date(); console.log(date.Format("hh:mm:ss")); //输出23:57:14
相关文章推荐
- msql 正则表达式
- 正则表达式
- 如何在 Linux 上安装、配置 NTP 服务器和客户端?
- Chrony:一个类 Unix 系统上 NTP 客户端和服务器替代品
- Mootools 1.2教程 正则表达式
- DB2 日期和时间的函数应用说明
- flex actionScript时间处理相加返回相加后的date
- Flex中对表格某列的值进行数字格式化并求百分比添加%
- Delphi实现读取系统时间与日期完整实例
- 批处理FINDSTR正则表达式用法实例分析
- Lua常用时间函数使用实例
- Ruby中Time对象的常用函数总结
- asp格式化日期时间格式的代码
- vbs正则表达式代码
- Powershell小技巧之通过EventLog查看近期电脑开机和关机时间
- C#实现判断一个时间点是否位于给定时间区间的方法
- 比较简洁的JavaScript 实时显示时间的脚本 修正版
- C#正则表达式Regex类的常用匹配
- linux磁盘分区格式化、挂载及增加swap空间