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 相关文章推荐
获取JavaScript用户自定义类的类名称的代码
Mar 08 Javascript
firefox浏览器下javascript 拖动层效果与原理分析代码
Dec 04 Javascript
jquery 将disabled的元素置为enabled的三种方法
Jul 25 Javascript
客户端限制只能上传jpg格式图片的js代码
Dec 09 Javascript
jquery中获取select选中值的代码
Jun 27 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
Nov 30 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
Jul 22 Javascript
ReactNative页面跳转实例代码
Sep 27 Javascript
CSS3 media queries结合jQuery实现响应式导航
Sep 30 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
Nov 29 Javascript
解决JavaScript layui 下拉框不显示的问题
Aug 14 Javascript
解决Layui数据表格中checkbox位置不居中的方法
Aug 15 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
一个图形显示IP的PHP程序代码
2007/10/19 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
Sample script that deletes a SQL Server database
2007/06/16 Javascript
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
实例详解jQuery表单验证插件validate
2016/01/18 Javascript
基于JavaScript实现动态添加删除表格的行
2016/02/01 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
python连接oracle数据库实例
2014/10/17 Python
python检测IP地址变化并触发事件
2018/12/26 Python
dpn网络的pytorch实现方式
2020/01/14 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
2014卖家双十一活动策划书
2014/09/29 职场文书
网络营销计划
2015/01/17 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
博士论文答辩开场白
2015/06/01 职场文书
紧急迫降观后感
2015/06/15 职场文书
公司备用金管理制度
2015/08/04 职场文书