JavaScript下的时间格式处理函数Date.prototype.format


Posted in Javascript onJanuary 27, 2016

实例一:

一个全的js时间处理函数,虽然我没有仔细去研究里面的正则,但是我经过了测试,是非常好用的,你可以根据你自己的需求设置想要的时间格式的字符串输出,我应用到的格式为:MM/dd/yyyy hh:mm TT和yyyy-MM-dd HH:mm:ss。

<span style="font-size:18px;">Date.prototype.format = function (mask) 
{ 
var d = this; 
var zeroize = function (value, length) 
{ 
if (!length) length = 2; 
value = String(value); 
for (var i = 0, zeros = ''; i < (length - value.length); i++) 
{ 
zeros += '0'; 
} 
return zeros + value; 
}; 
return mask.replace(/"[^"]*"|'[^']*'|\b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])\1?|[lLZ])\b/g, function ($0) 
{ 
switch ($0) 
{ 
case 'd': return d.getDate(); 
case 'dd': return zeroize(d.getDate()); 
case 'ddd': return ['Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sat'][d.getDay()]; 
case 'dddd': return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][d.getDay()]; 
case 'M': return d.getMonth() + 1; 
case 'MM': return zeroize(d.getMonth() + 1); 
case 'MMM': return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][d.getMonth()]; 
case 'MMMM': return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][d.getMonth()]; 
case 'yy': return String(d.getFullYear()).substr(2); 
case 'yyyy': return d.getFullYear(); 
case 'h': return d.getHours() % 12 || 12; 
case 'hh': return zeroize(d.getHours() % 12 || 12); 
case 'H': return d.getHours(); 
case 'HH': return zeroize(d.getHours()); 
case 'm': return d.getMinutes(); 
case 'mm': return zeroize(d.getMinutes()); 
case 's': return d.getSeconds(); 
case 'ss': return zeroize(d.getSeconds()); 
case 'l': return zeroize(d.getMilliseconds(), 3); 
case 'L': var m = d.getMilliseconds(); 
if (m > 99) m = Math.round(m / 10); 
return zeroize(m); 
case 'tt': return d.getHours() < 12 ? 'am' : 'pm'; 
case 'TT': return d.getHours() < 12 ? 'AM' : 'PM'; 
case 'Z': return d.toUTCString().match(/[A-Z]+$/); 
// Return quoted strings with the surrounding quotes removed 
default: return $0.substr(1, $0.length - 2); 
} 
}); 
};</span>

实例二:

Date.prototype.format方法在date的原型中扩展了format方法,使其可以方便的格式化日期格式输出。

Date.prototype.format =function(format)
{
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(this.getFullYear()+"").substr(4- RegExp.$1.length));
for(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
}
var date = new Date(parseInt("1347497754133"));
date.format("yyyy-MM-dd");

以上通过两段实例代码给大家介绍了JavaScript下的时间格式处理函数Date.prototype.format的相关内容,希望对大家有所帮助。

Javascript 相关文章推荐
漂亮的仿flash菜单,来自蓝色经典
Jun 26 Javascript
JavaScript使用prototype定义对象类型
Feb 07 Javascript
js正则表达式中test,exec,match方法的区别说明
Jan 29 Javascript
Js实现网页键盘控制翻页的方法
Oct 30 Javascript
AngularJS+Node.js实现在线聊天室
Aug 28 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件
Dec 20 Javascript
js鼠标经过tab选项卡时实现切换延迟
Mar 24 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
Sep 12 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
May 09 Javascript
vue实现中部导航栏布局功能
Jul 30 Javascript
node.js 微信开发之定时获取access_token
Feb 07 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
Jan 27 #Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
Jan 27 #Javascript
js实现简单排列组合的方法
Jan 27 #Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
Jan 27 #Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
Jan 27 #Javascript
jQuery ajax分页插件实例代码
Jan 27 #Javascript
JavaScript+html5 canvas绘制的小人效果
Jan 27 #Javascript
You might like
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
YII中assets的使用示例
2014/07/31 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
CI框架简单邮件发送类实例
2016/05/18 PHP
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
JavaScript访问样式表代码
2010/10/15 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
原生JS实现萤火虫效果
2020/03/07 Javascript
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
pandas中去除指定字符的实例
2018/05/18 Python
Django model序列化为json的方法示例
2018/10/16 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
Python实现不规则图形填充的思路
2020/02/02 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
学生会竞选演讲稿
2014/04/24 职场文书
社区义诊活动总结
2014/04/30 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
党校个人总结
2015/03/04 职场文书
vue选项卡切换的实现案例
2022/04/11 Vue.js