当前位置:17727 > www.17727.com > format_javascript技巧_脚本之家www.17727.com:

format_javascript技巧_脚本之家www.17727.com:

文章作者:www.17727.com 上传时间:2019-12-08
Date.prototype.format = function  { var d = this; var zeroize = function  { if  length = 2; value = String; 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?|1?|[lLZ])b/g, function  { case 'd': return d.getDate(); case 'dd': return zeroize; 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; 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.substr; case 'yyyy': return d.getFullYear(); case 'h': return d.getHours() % 12 || 12; case 'hh': return zeroize % 12 || 12); case 'H': return d.getHours(); case 'HH': return zeroize; case 'm': return d.getMinutes(); case 'mm': return zeroize; case 's': return d.getSeconds(); case 'ss': return zeroize; case 'l': return zeroize, 3); case 'L': var m = d.getMilliseconds m = Math.round; return zeroize; case 'tt': return d.getHours() < 12 ? 'am' : 'pm'; case 'TT': return d.getHours() < 12 ? 'AM' : 'PM'; case 'Z': return d.toUTCString; // Return quoted strings with the surrounding quotes removed default: return $0.substr; } }); }; 

最近项目的部分功能正在重构,前端也基本上推翻了原来的设计,在之前半年的积累上有了新的方案。这几天在做前端的重构和设计,遇到了一些问题。因为这个模块最主要的还是对时间的控制,大量的操作js的Date对象,可是js原生的Date方法太少了,操作起来太不方便。于是打算扩展下Date的prototype。 长期从事C#www.17727.com,的开发,被C#影响着我的思维。C#中DateTime的操作就很方便,于是就参考它对js的Date做了扩展。 复制代码 代码如下: //将指定的毫秒数加到此实例的值上 Date.prototype.addMilliseconds = function { var millisecond = this.getMilliseconds(); this.setMilliseconds; return this; }; //将指定的秒数加到此实例的值上 Date.prototype.addSeconds = function { var second = this.getSeconds(); this.setSeconds; return this; }; //将指定的分钟数加到此实例的值上 Date.prototype.addMinutes = function { var minute = this.addMinutes(); this.setMinutes; return this; }; //将指定的小时数加到此实例的值上 Date.prototype.addHours = function { var hour = this.getHours(); this.setHours; return this; }; //将指定的天数加到此实例的值上 Date.prototype.addDays = function { var date = this.getDate(); this.setDate; return this; }; //将指定的星期数加到此实例的值上 Date.prototype.addWeeks = function { return this.addDays; }; //将指定的月份数加到此实例的值上 Date.prototype.addMonths = function { var month = this.getMonth(); this.setMonth; return this; }; //将指定的年份数加到此实例的值上 Date.prototype.addYears = function { var year = this.getFullYear(); this.setFullYear; return this; }; //格式化日期显示 format="yyyy-MM-dd hh:mm:ss"; Date.prototype.format = function { 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 / 3), //quarter "S": this.getMilliseconds() //millisecond } if { format = format.replace(RegExp.$1, + "").substr); } for { if (new RegExp.test { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : .substr; } } return format; } 使用方法我想应该不用多说了,就是: 复制代码 代码如下: var date = new Date; date.addYears; document.write(date.format('yyyy-MM-dd hh:mm:ss')); 希望这个扩展方法可以帮助到大家。

以上通过两段实例代码给大家介绍了JavaScript下的时间格式处理函数Date.prototype.format的相关内容,希望对大家有所帮助。

一个全的js时间处理函数,虽然我没有仔细去研究里面的正则,但是我经过了测试,是非常好用的,你可以根据你自己的需求设置想要的时间格式的字符串输出,我应用到的格式为:MM/dd/yyyy hh:mm TT和yyyy-MM-dd HH:mm:ss。

实例二:

实例一:

Date.prototype.format方法在date的原型中扩展了format方法,使其可以方便的格式化日期格式输出。

Date.prototype.format =function{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/3), //quarter"S" : this.getMilliseconds() //millisecond}if format=format.replace(RegExp.$1,+"").substr;forif").testformat = format.replace(RegExp.$1,RegExp.$1.length==1? o[k] :.substr;return format;}var date = new Date(parseInt;date.format;

本文由17727发布于www.17727.com,转载请注明出处:format_javascript技巧_脚本之家www.17727.com:

关键词: