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 相关文章推荐
[JS]点出统计器
Oct 11 Javascript
jquery如何判断表格同一列不同行input数据是否重复
May 14 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
Jun 23 Javascript
JavaScript jquery及AJAX小结
Jan 24 Javascript
jQuery获取及设置表单input各种类型值的方法小结
May 24 Javascript
js制作支付倒计时页面
Oct 21 Javascript
js实现自动图片轮播代码
Mar 22 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
Jul 02 Javascript
利用JQUERY实现多个AJAX请求等待的实例
Dec 14 jQuery
JS脚本实现网页自动秒杀点击
Jan 11 Javascript
在vue项目中引入highcharts图表的方法(详解)
Mar 05 Javascript
Vue3+elementui plus创建项目的方法
Dec 01 Vue.js
基于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
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
用文本文件制作留言板提示(下)
2006/10/09 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
Python设计模式之抽象工厂模式
2016/08/25 Python
python 获取网页编码方式实现代码
2017/03/11 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
Python做智能家居温湿度报警系统
2018/09/25 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
国际会议邀请函范文
2014/01/16 职场文书
座谈会主持词
2014/03/20 职场文书
小学语文课后反思精选
2014/04/25 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
2015年妇女工作总结
2015/05/14 职场文书
奖学金申请书(范文)
2019/08/14 职场文书