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 相关文章推荐
jQuery EasyUI API 中文文档 - Dialog对话框
Nov 15 Javascript
jquery鼠标滑过提示title具体实现代码
Aug 06 Javascript
写JQuery插件的基本知识
Nov 25 Javascript
javascript框架设计读书笔记之模块加载系统
Dec 02 Javascript
Python脚本后台运行的几种方式
Mar 09 Javascript
javascript事件委托的用法及其好处简析
Apr 04 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
Jun 21 Javascript
SelecT下拉框选中和取值的解决方法
Nov 22 Javascript
前端面试知识点锦集(JavaScript篇)
Dec 28 Javascript
浅谈vue+webpack项目调试方法步骤
Sep 11 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
Dec 15 Javascript
原生JS实现拖拽功能
Dec 16 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 mysql数据库操作类
2008/06/04 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
让FireFox支持innerText的实现代码
2009/12/01 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
Python开发常用的一些开源Package分享
2015/02/14 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
python中requests使用代理proxies方法介绍
2017/10/25 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
python 基于卡方值分箱算法的实现示例
2020/07/17 Python
Python中pass的作用与使用教程
2020/11/13 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
大学生村官工作感言
2014/01/10 职场文书
眼镜促销方案
2014/03/15 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
详解Vue router路由
2021/11/20 Vue.js
Java界面编程实现界面跳转
2022/06/16 Java/Android
在ubuntu下安装go开发环境的全过程
2022/08/05 Golang