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 uaMatch源代码
Feb 14 Javascript
往光标所在位置插入值的js代码
Sep 22 Javascript
js实现正方形颜色从下往上升的效果
Aug 04 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
Sep 01 Javascript
javacript获取当前屏幕大小
Jun 04 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
Jun 15 Javascript
JavaScript面试题大全(推荐)
Sep 22 Javascript
angular4中关于表单的校验示例
Oct 16 Javascript
探讨Vue.js的组件和模板
Oct 27 Javascript
Angular 5.0 来了! 有这些大变化
Nov 15 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
May 28 Javascript
Vue+Element UI实现概要小弹窗的全过程
May 30 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
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
用Juery网页选项卡实现代码
2011/06/13 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
浏览器页面区域大小的js获取方法
2013/09/21 Javascript
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
微信小程序开发探究
2016/12/27 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
vue实现树形结构样式和功能的实例代码
2019/10/15 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
Vuex中的Mutations的具体使用方法
2020/06/01 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
Python的Tornado框架异步编程入门实例
2015/04/24 Python
python and or用法详解
2019/06/26 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
教育专业自荐书范文
2013/12/17 职场文书
会计电算化大学生职业规划书
2014/02/05 职场文书
高级编程求职信模板
2014/02/16 职场文书
新兵入伍心得体会
2014/09/04 职场文书
八荣八耻演讲稿
2014/09/15 职场文书