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 相关文章推荐
浅谈Javascript事件处理程序的几种方式
Jun 27 Javascript
jsp+javascript打造级连菜单的实例代码
Jun 14 Javascript
from表单多个按钮提交用onclick跳转不同action
Apr 24 Javascript
javascript中cookie对象用法实例分析
Jan 30 Javascript
javascript常用方法总结
May 14 Javascript
js和jquery分别验证单选框、复选框、下拉框
Dec 17 Javascript
限制只能输入数字的实现代码
May 16 Javascript
Javascript 实现计算器时间功能详解及实例(二)
Jan 08 Javascript
jQuery简单获取DIV和A标签元素位置的方法
Feb 07 Javascript
Vue组件实现触底判断
Jun 26 Javascript
vuex vue简单使用知识点总结
Aug 29 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
Sep 10 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
Yii2.0中使用js异步删除示例
2017/03/10 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
window.location和document.location的区别分析
2008/12/23 Javascript
js 匿名调用实现代码
2009/06/19 Javascript
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
vue中实现回车键登录功能
2020/02/19 Javascript
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
python连接mysql调用存储过程示例
2014/03/05 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
python实现批量命名照片
2020/06/18 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
售后服务承诺书范文
2014/03/26 职场文书
高中教师评语大全
2014/04/25 职场文书
村级换届选举方案
2014/05/10 职场文书
教师批评与自我批评
2014/10/15 职场文书
党员民主评议总结
2014/10/20 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
优秀教研组申报材料
2014/12/26 职场文书
辞职信范文大全
2015/03/02 职场文书
企业投资意向书
2015/05/09 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
mysql 索引合并的使用
2021/08/30 MySQL
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android