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 相关文章推荐
ExtJS PropertyGrid中使用Combobox选择值问题
Jun 13 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
Feb 25 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
Apr 07 Javascript
深入理解Javascript动态方法调用与参数修改的问题
Dec 10 Javascript
jquery根据锚点offset值实现动画切换
Sep 11 Javascript
JS修改iframe页面背景颜色的方法
Apr 01 Javascript
JavaScript encodeURI 和encodeURIComponent
Dec 04 Javascript
js判断PC端与移动端跳转
Dec 24 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
Mar 21 jQuery
详解VueJS应用中管理用户权限
Feb 02 Javascript
详解Vue源码之数据的代理访问
Dec 11 Javascript
vue响应式原理与双向数据的深入解析
Jun 04 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
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
php的memcache类分享(memcache队列)
2014/03/26 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
javascript Ext JS 状态默认存储时间
2009/02/15 Javascript
Extjs学习笔记之六 面版
2010/01/08 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
AngularJs返回前一页面时刷新一次前面页面的方法
2018/10/09 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
Python File(文件) 方法整理
2019/02/18 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
在python中做正态性检验示例
2019/12/09 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
详解pandas映射与数据转换
2021/01/22 Python
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
导游实习生自荐书
2014/01/28 职场文书
新闻专业毕业生英文求职信
2014/03/19 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书