时间戳处理

这篇博客介绍了将秒转换为天、时、分、秒的JavaScript函数,包括getDuration和formatTime两个方法。getDuration函数根据秒数返回格式化的天、小时、分钟和秒,而formatTime函数用于展示如'几分钟前'、'几小时前'等时间差。这些实用的函数可以在前端开发中用于显示时间信息。
摘要由CSDN通过智能技术生成

1.天、时、分、秒


//将秒转化为天时分秒
export function formateSeconds(s){
    var day = Math.floor( s/ (24*3600) ); // Math.floor()向下取整 
    var hour = Math.floor( (s - day*24*3600) / 3600); 
    var minute = Math.floor( (s - day*24*3600 - hour*3600) /60 ); 
    var second = s - day*24*3600 - hour*3600 - minute*60; 
    return day + "天"  + hour + "时" + minute + "分" + second + "秒"; 
}
如果不足天 return => 0天0时5分15秒 



export function getDuration(second) {
  var duration
  var days = Math.floor(second / 86400);
  var hours = Math.floor((second % 86400) / 3600);
  var minutes = Math.floor(((second % 86400) % 3600) / 60);
  var seconds = Math.floor(((second % 86400) % 3600) % 60);
  if(days>0)  duration = days + "天" + hours + "小时" + minutes + "分" + seconds + "秒";
  else if(hours>0)  duration = hours + "小时" + minutes + "分" + seconds + "秒";
  else if(minutes>0) duration = minutes + "分" + seconds + "秒";
  else if(seconds>0) duration = seconds + "秒";
  return duration;
}
如果不足天 return => 5分15秒

2.秒 几分钟前,刚刚

export function formatTime(time) {
  if (('' + time).length === 10) {
    time = parseInt(time) * 1000
  } else {
    time = +time
  }
  const d = new Date(time)
  const now = Date.now()

  const diff = (now - d) / 1000

  if (diff < 30) {
    return '刚刚'
  } else if (diff < 3600) {
    // less 1 hour
    return Math.ceil(diff / 60) + '分钟前'
  } else if (diff < 3600 * 24) {
    return Math.ceil(diff / 3600) + '小时前'
  } else if (diff < 3600 * 24 * 2) {
    return '1天前'
  }
}

直接放util里,使用的时候引用即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值