通话记录时间记录

该JavaScript函数根据时间戳与当前时间的差距,将显示格式分为不同类别:一分钟内显示刚刚,1分钟至1天显示具体时间,1天至7天显示星期X+时分,超过7天显示年/月/日+时分
摘要由CSDN通过智能技术生成

通话时间

     --1分钟之内显示“刚刚”;

     —超过1分钟,在1天之内显示具体时间,时+分(24小时制),如“14:10”;

     --前1天显示“昨天+时分”

     --超过1天且在7天之内显示“星期X+时分”。

     --超过7天的显示具体日期“年/月/日+时分”
export function timestampFormat (timestamp) {
  function zeroize (num) {
    return (String(num).length === 1 ? '0' : '') + num
  }
  var curTimestamp = parseInt(new Date().getTime()) // 当前时间戳
  var timestampDiff = curTimestamp - timestamp // 参数时间戳与当前时间戳相差秒数
  console.log(timestampDiff, 'timestampDiff')
  var curDate = new Date(curTimestamp) // 当前时间日期对象
  var tmDate = new Date(timestamp) // 参数时间戳转换成的日期对象

  var Y = tmDate.getFullYear()
  var m = tmDate.getMonth() + 1
  var d = tmDate.getDate()
  var H = tmDate.getHours()
  var i = tmDate.getMinutes()
  // var s = tmDate.getSeconds()

  if (timestampDiff < 60000) { // 一分钟以内
    return '刚刚'
  } else if (curDate.getFullYear() === Y && curDate.getMonth() + 1 === m && curDate.getDate() === d) {
    return zeroize(H) + ':' + zeroize(i)
  } else if (timestampDiff < 172800000) {
    return '昨天 ' + zeroize(H) + ':' + zeroize(i)
  } else if (timestampDiff < 604800000) {
    const days = ['日', '一', '二', '三', '四', '五', '六']
    return '星期' + days[tmDate.getDay()] + ' ' + zeroize(H) + ':' + zeroize(i)
  } else {
    return Y + '/' + m + '/' + d + ' ' + H + ':' + i
  }
}
  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值