Blame view

src/components/time/time.js 3.6 KB
eb37e68c   梁灏   update Time
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  const time = {
      getUnix (place) {
          const date = new Date();
          const timestamp = date.getTime();	// 得到的是毫秒
  
          if (place === 's') {	// 秒
              return Math.floor(timestamp / 1000);
          } else {	// 毫秒
              return timestamp;
          }
      },
      getToday (place) {
          const today = new Date();
          const year = today.getFullYear();
          const month = today.getMonth() + 1;
          const day = today.getDate();
          const hours = 0;
          const mins = 0;
          const secs = 0;
          const datetime = year + '-' + month + '-' + day + ' ' + hours + ':' + mins + ':' + secs;
          let tmp_datetime = datetime.replace(/:/g,'-');
          tmp_datetime = tmp_datetime.replace(/ /g,'-');
          const arr = tmp_datetime.split('-');
          const now = new Date(Date.UTC(arr[0],arr[1]-1,arr[2],arr[3]-8,arr[4],arr[5]));
  
          if (place === 's') {
              return parseInt(now.getTime() / 1000);
          } else {
              return parseInt(now.getTime());
          }
      },
      getYear (place) {
          const today = new Date();
          const year = today.getFullYear();
          const month = 0;
          const day = 1;
          const hours = 0;
          const mins = 0;
          const secs = 0;
          const datetime = year + '-' + month + '-' + day + ' ' + hours + ':' + mins + ':' + secs;
          let tmp_datetime = datetime.replace(/:/g,'-');
          tmp_datetime = tmp_datetime.replace(/ /g,'-');
          const arr = tmp_datetime.split('-');
          const now = new Date(Date.UTC(arr[0],arr[1]-1,arr[2],arr[3]-8,arr[4],arr[5]));
          if (place === 's') {
              return parseInt(now.getTime() / 1000);
          } else {
              return parseInt(now.getTime());
          }
      },
      getLastDate (time, type) {
          const unixtime = time * 1000;
          const date = new Date(unixtime);
          const month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
          const currentDate = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
          const hh = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
          const mm = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
468bde3c   梁灏   update
58
          // const ss = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
eb37e68c   梁灏   update Time
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
  
          if (type === 'month') {
              return month + '-' + currentDate + ' ' + hh + ':' + mm;
              //return month + "-" + currentDate;
          } else {
              return date.getFullYear() + '-' + month + '-' + currentDate + ' ' + hh + ':' + mm;
          }
      },
      // 时间戳转详细时间,比如5分钟前
      getMagic (timestamp) {
          const now = this.getUnix('s');    //当前时间戳
          const today = this.getToday('s'); //今天0点时间戳
          const year = this.getYear('s');   //今年0点时间戳
          const timer = now - timestamp;
  
          let tip = '';
  
          if (timer <= 0) {
              tip = '刚刚';
          } else if (Math.floor(timer/60) <= 0) {
              tip = '刚刚';
          } else if (timer < 3600) {
              tip = Math.floor(timer/60) + '分钟前';
          } else if (timer >= 3600 && (timestamp - today >= 0) ) {
              tip = Math.floor(timer/3600) + '小时前';
          } else if (timer/86400 <= 31) {
              tip = Math.ceil(timer/86400) + '天前';
          } else if (timestamp - today < 0 && (timestamp - year >= 0)) {
              tip = this.getLastDate(timestamp, 'month');
          } else {
              tip = this.getLastDate(timestamp, 'year');
          }
          return tip;
      }
  };
  
  export default function (timestamp) {
      return time.getMagic(timestamp / 1000);
  }