在工作中经常会遇到数据格式转换的问题,很多时候后端传给你的数据不一定是你想要的形式。比如时间,后端可能直接给你了一个时间戳,我们需要自己转成需要的格式。这样的方法网上应该有很多,但是兼容性不一定很好,之前我用的一个方法,发现到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 }
来源:https://www.cnblogs.com/snowinmay/p/3368620.html