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 相关文章推荐
通过Unicode转义序列来加密,按你说的可以算是混淆吧
May 06 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
Aug 24 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
May 17 Javascript
jQuery 无刷新分页实例代码
Nov 12 Javascript
详细解密jsonp跨域请求
Apr 15 Javascript
谈谈JavaScript类型系统之Math
Jan 06 Javascript
JS显示日历和天气的方法
Mar 01 Javascript
简单总结JavaScript中的String字符串类型
May 26 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
Mar 08 Javascript
对vue.js中this.$emit的深入理解
Feb 23 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
Mar 06 Javascript
Vue实现input宽度随文字长度自适应操作
Jul 29 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
萌王史莱姆”萌王性别尴尬!那“萌战”归女组还是男?
2018/12/17 日漫
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
详解JavaScript的表达式与运算符
2015/11/30 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
AntV F2和vue-cli构建移动端可视化视图过程详解
2019/10/08 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
python 域名分析工具实现代码
2009/07/15 Python
python杀死一个线程的方法
2015/09/06 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
python 如何引入协程和原理分析
2020/11/30 Python
大学生的应聘自我评价
2013/12/13 职场文书
仓库理货员岗位职责
2013/12/18 职场文书
追悼会上的答谢词
2014/01/10 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
教师学期末个人总结
2015/02/13 职场文书
创业计划书之水果店
2019/07/18 职场文书
用基于python的appium爬取b站直播消费记录
2021/04/17 Python
nginx配置指令之server_name的具体使用
2022/08/14 Servers