|

楼主 |
发表于 2021-5-26 14:58:40
|
显示全部楼层
- /**
- * 将时间类型转换成字符串
- */
- (function(){
- var temp=Date.prototype.toString;
- Date.prototype.toString=OlFunction.create(temp);
- /**
- * @param {String} str 用%{控制字符}{长度}控制打印字符: Y-年 M-月 D-日 d-星期几 h-小时 m-分钟 s-秒 如果没有写长度将使用自动长度, 如果长度超出将在前面补0; 例: %Y6-%M2-%D -> 001970-01-1
- */
- Date.prototype.toString.addOverload([String],function(str){
- var that=this,
- d={
- Y:that.getFullYear().toString(),
- M:(that.getMonth()+1).toString(),
- D:that.getDate().toString(),
- d:that.getDay().toString(),
- h:that.getHours().toString(),
- m:that.getMinutes().toString(),
- s:that.getSeconds().toString()
- }
- var i,rtn=[],tstr;
- for(i=0;i<str.length;++i){
- if(str[i]=='%'){
- ++i;
- if(d[str[i]]!=undefined){
- var ti=parseInt(str[i+1]),tempstr=[];
- if(isNaN(ti)){
- tstr=d[str[i]];
- }else{
- ti=parseInt(str.slice(i+1))
- if(ti>d[str[i]].length){
- do{
- tempstr.push('0');
- --ti;
- }while(ti>d[str[i]].length)
- }
- tempstr.push(d[str[i]].slice(d[str[i]].length-ti));
- i+=ti.toString().length;
- tstr=tempstr.join('');
- }
- // }else if(str[i]=='%'){
- // tstr='%'
- }else{
- tstr='%'+str[i];
- }
- }else{
- tstr=str[i];
- }
- rtn.push(tstr);
- }
- return rtn.join('');
- },"用%{控制字符}{长度}控制打印字符: Y-年 M-月 D-日 d-星期几 h-小时 m-分钟 s-秒 如果没有写长度将使用自动长度; 例: %Y-%M2-%D -> 1970-01-1");
- })();
复制代码
使用例2 重载Date的toString函数 |
|