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语言中的Literal Syntax特性分析
Mar 08 Javascript
JavaScript 事件对象的实现
Jul 13 Javascript
juqery 学习之三 选择器 可见性 元素属性
Nov 25 Javascript
jQuery简单实现禁用右键菜单
Mar 10 Javascript
AngularJS实现Model缓存的方式
Feb 03 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
Jul 04 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
Jun 22 jQuery
js数组实现权重概率分配
Sep 12 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
Nov 29 Javascript
Angular整合zTree的示例代码
Jan 24 Javascript
详解如何写出一个利于扩展的vue路由配置
May 16 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 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 daodb插入、更新与删除数据
2009/03/19 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
php编写的简单页面跳转功能实现代码
2013/11/27 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
php控制文件下载速度的方法
2015/03/24 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
JS实现的缓冲运动效果示例
2018/04/30 Javascript
详解python进行mp3格式判断
2016/12/23 Python
Python内建模块struct实例详解
2018/02/02 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
基于Python实现用户管理系统
2019/02/26 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
Python调用Windows命令打印文件
2020/02/07 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
python向企业微信发送文字和图片消息的示例
2020/09/28 Python
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
化学相关工作求职信
2013/10/02 职场文书
初一生物教学反思
2014/01/18 职场文书
出纳员岗位责任制
2014/02/11 职场文书
宣传稿格式范文
2015/07/23 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸