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 相关文章推荐
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
Nov 24 Javascript
jquery下操作HTML控件的实现代码
Jan 12 Javascript
JavaScript 打地鼠游戏代码说明
Oct 12 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
Dec 09 Javascript
jQuery模拟黑客帝国矩阵效果实例
Jun 28 Javascript
jQuery实现列表内容的动态载入特效
Aug 08 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
Sep 05 Javascript
jquery中用jsonp实现搜索框功能
Oct 18 Javascript
微信小程序-小说阅读小程序实例(demo)
Jan 12 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
Feb 10 Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
webpack优化之代码分割与公共代码提取详解
Nov 22 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
Zend的AutoLoad机制介绍
2012/09/27 PHP
php Session存储到Redis的方法
2013/11/04 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
jquery实现树形菜单完整代码
2015/12/29 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
js如何验证密码强度
2020/03/18 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
Python的字典和列表的使用中一些需要注意的地方
2015/04/24 Python
Python实现的异步代理爬虫及代理池
2017/03/17 Python
python使用Pycharm创建一个Django项目
2018/03/05 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
消防安全宣传口号
2014/06/10 职场文书
党员个人公开承诺书
2014/08/29 职场文书
护士节慰问信
2015/02/15 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL