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 相关文章推荐
二级域名转向类
Nov 09 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
Sep 03 Javascript
js实现字符串转日期格式的方法
May 20 Javascript
基于jquery实现简单的手风琴特效
Nov 24 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
Jun 08 Javascript
微信和qq时间格式模板实例详解
Oct 21 Javascript
微信小程序 图片加载(本地,网路)实例详解
Mar 10 Javascript
深入理解JavaScript 参数按值传递
May 24 Javascript
JavaScript设计模式之策略模式详解
Jun 09 Javascript
微信小程序 确认框的实现(附代码)
Jul 23 Javascript
JS实现秒杀倒计时特效
Jan 02 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
Apr 26 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
php的dl函数用法实例
2014/11/06 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
2016/09/26 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
python搭建简易服务器分析与实现
2012/12/15 Python
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
橄榄树药房:OLIVEDA
2019/09/01 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
工程业务员岗位职责
2013/12/31 职场文书
士力架广告词
2014/03/20 职场文书
群众路线领导对照材料
2014/08/23 职场文书
教师学期个人总结
2015/02/11 职场文书
六一儿童节致辞
2015/07/31 职场文书
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python