日期转换(时间戳转换成其他格式的日期形式)

在工作中经常会遇到数据格式转换的问题,很多时候后端传给你的数据不一定是你想要的形式。比如时间,后端可能直接给你了一个时间戳,我们需要自己转成需要的格式。这样的方法网上应该有很多,但是兼容性不一定很好,之前我用的一个方法,发现到Safari上出现乱码。今天就自己写了一个方法,方便以后调用了。

一个对象:包含一个对外的方法,方法中两个参数,一个是时间戳的值,另外一个是想要输出的日期格式。

  1 /*****
  2     功能:把时间戳转换成具体的日期格式
  3     日期:2013/10/14
  4     对外方法:oTime.getLocalTime(type,ux);
  5     参数解释:
  6         ux是时间戳;
  7         type是想要的日期格式:
  8         0(默认):2013-10-14 14:30 星期三
  9         1:2010-10-20
 10         2:2010年12月23日
 11         3:星期三
 12         4:14:30
 13         5:14:30:33
 14         6:2010/10/20
 15 *****/
 16 var oTime = {
 17 
 18     //把当前时间转换成时间戳      
 19     getUnixTime : function(){
 20         var dt = new Date();
 21         //var ux = Date.UTC(dt.getFullYear(),dt.getMonth(),dt.getDate(),dt.getHours(),dt.getMinutes(),dt.getSeconds());
 22         var ux = dt.getTime();
 23         return ux;
 24     },
 25     handleTime : function(ux) {
 26 
 27         var dt = new Date(ux);
 28         //var dt = new Date();
 29         var date = [];
 30         date[0] = dt.getFullYear();
 31         date[1] = dt.getMonth() + 1;
 32         date[2] = dt.getDate();
 33         date[3] = dt.getHours();
 34         date[4] = dt.getMinutes();
 35         date[5] = dt.getSeconds();
 36         date[6] = this.handleWeek(dt.getDay());
 37         return this.addZero(date);
 38     },
 39     handleWeek : function(num){
 40         var str;
 41         switch(num){
 42             case 1:
 43                 str = '星期一';
 44                 return str;
 45                 break;
 46             case 2:
 47                 str = '星期二';
 48                 return str;
 49                 break;
 50             case 3:
 51                 str = '星期三';
 52                 return str;
 53                 break;
 54             case 4:
 55                 str = '星期四';
 56                 return str;
 57                 break;
 58             case 5:
 59                 str = '星期五';
 60                 return str;
 61                 break;
 62             case 6:
 63                 str = '星期六';
 64                 return str;
 65                 break;
 66             default:
 67                 str = '星期日';
 68                 return str;
 69         }
 70     },
 71     addZero : function (arr){
 72 
 73         for (var i = 0; i < arr.length; i++) {
 74             if(arr[i] < 10){
 75                 arr[i] = "0" + arr[i];           
 76             }                
 77         };
 78         return arr;
 79     },
 80     getLocalTime : function (type,ux){
 81         
 82         ux = ux || this.getUnixTime();
 83         var arr = this.handleTime(ux);
 84         switch(type){
 85             case 1:
 86                 arr.length = 3;
 87                 arr = arr.join('-');
 88                 return arr;
 89                 break;
 90             case 2:
 91                 var str = arr[0] + '年' + arr[1] + '月' + arr[2] + '日';
 92                 return str;
 93                 break;
 94             case 3:
 95                 var str = arr[6];
 96                 return str;
 97                 break;
 98             case 4:
 99                 var str = arr[3] + ':' + arr[4];
100                 return str;
101                 break;
102             case 5:
103                 var str = arr[3] + ':' + arr[4] + ':' + arr[5];
104                 return str;
105                 break;
106             case 6:
107                 arr.length = 3;
108                 arr = arr.join('/');
109                 return arr;
110                 break;
111             default:
112                 var str = arr[0] + '-' + arr[1] + '-' + arr[2] + ' ' + arr[3] + ':' + arr[4] + ' ' + arr[6];
113                 return str;
114         }
115     }
116 }

 

posted @ 2013-10-14 16:29  snowinmay  阅读(4206)  评论(0编辑  收藏  举报