long
2023-03-03 9860e221460a0a4ac1903dad2c97160d0eed0e63
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
/**
 * 生成时间字符串
 * 规则,暂定
 * 5分钟内间隔,不显示
 * 非今天显示全部
 * @param {string} time yyyy-mm-dd hh:mm:ss
 * @param {string} prevTime yyyy-mm-dd hh:mm:ss
 */
function chatTime(time, prevTime) {
  if (!isShowChatTime(time, prevTime)) {
    return ''
  }
 
  var date = new Date()
  var y = date.getFullYear()
  var m = date.getMonth() + 1
  var d = date.getDate()
 
  var str_time = time.split(' ')[1]
  var str_date = time.split(' ')[0]
  var temp = str_date.split('-')
  var isToday = y === temp[0] && m === temp[1] * 1 && d === temp[2] * 1
 
  if (isToday) {
    return str_time.substring(0, 5)
  }
 
  return time.substring(0, 16)
}
 
/**
 * 是否显示时间
 * @param {string} time yyyy-mm-dd hh:mm:ss
 * @param {string} prevTime yyyy-mm-dd hh:mm:ss
 */
function isShowChatTime(time, prevTime) {
  if (!prevTime) {
    return true
  }
  var date = new Date(time.replace(/-/g, '/')).getTime()
  var prev_date = new Date(prevTime.replace(/-/g, '/')).getTime()
  if (date - prev_date < 5 * 60 * 1000) {
    return false
  }
  return true
}
 
module.exports = {
  chatTime
}