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 相关文章推荐
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
Dec 29 Javascript
javascript 强制刷新页面的实现代码
Dec 13 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
Sep 11 Javascript
JQuery中dataGrid设置行的高度示例代码
Jan 03 Javascript
js清空form表单中的内容示例
May 20 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
Aug 27 Javascript
jquery siblings获取同辈元素用法实例分析
Jul 25 Javascript
JS中判断null的方法分析
Nov 21 Javascript
详解webpack打包vue时提取css
May 26 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
Oct 24 Javascript
jQuery轮播图实例详解
Aug 15 jQuery
微信小程序外卖选购页实现切换分类与数量加减功能案例
Jan 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
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
2015/11/25 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
2014/01/26 Javascript
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
js回调函数仿360开机
2019/12/26 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
[19:59]2014DOTA2国际邀请赛 IG战队纪录片
2014/08/07 DOTA
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
keras得到每层的系数方式
2020/06/15 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
几个SQL的面试题
2014/03/08 面试题
自主实习接收函
2014/01/13 职场文书
初中数学教学反思
2014/01/16 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
大学课外活动总结
2014/07/09 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
Go语言设计模式之结构型模式
2021/06/22 Golang
四十九个javascript小知识实用技巧
2021/11/20 Javascript