当前位置:主页 > javascript教程 >

JS根据Unix时间戳显示发布时间是多久前【项目实测】

发布:2023-02-28 14:39:56 157


给大家整理了JS相关的编程文章,网友那浩渺根据主题投稿了本篇教程内容,涉及到js、unix、时间戳显示发布时间、js、unix、时间戳相关内容,已被440网友关注,涉猎到的知识点内容可以在下方电子书获得。

后台接口给的时间数据为Unix时间戳,我们的需求是显示类似微信朋友圈显示发布时间为距离当前时间多久之前,“xx分钟之前”,“xx小时之前”,“xx个月之前”。

类似这样的时间显示效果:

JS根据Unix时间戳显示发布时间是多久前【项目实测】

转换函数:

/**
 * Unix时间戳转换为当前时间多久之前
 * @param timespan int     Unix时间戳
 * @return timeSpanStr string   转换之后的前台需要的字符串
 */
function Ftime (timespan) {
  var dateTime = new Date(timespan * 1000);
  var year = dateTime.getFullYear();
  var month = dateTime.getMonth() + 1;
  var day = dateTime.getDate();
  var hour = dateTime.getHours();
  var minute = dateTime.getMinutes();
  //当前时间
  var now = Date.parse(new Date()); //typescript转换写法
  var milliseconds = 0;
  var timeSpanStr;
  //计算时间差
  milliseconds = (now / 1000) - timespan;

  //一分钟以内
  if (milliseconds <= 60) {
    timeSpanStr = '刚刚';
  }
  //大于一分钟小于一小时
  else if (60 < milliseconds && milliseconds <= 60 * 60) {
    timeSpanStr = Math.ceil((milliseconds / (60))) + '分钟前';
  }
  //大于一小时小于等于一天
  else if (60 * 60 < milliseconds && milliseconds <= 60 * 60 * 24) {
    timeSpanStr = Math.ceil(milliseconds / (60 * 60)) + '小时前';
  }
  //大于一天小于等于15天
  else if (60 * 60 * 24 < milliseconds && milliseconds <= 60 * 60 * 24 * 30) {
    timeSpanStr = Math.ceil(milliseconds / (60 * 60 * 24)) + '天前';
  }
  //大于一个月小于一年
  else if (60 * 60 * 24 * 30 < milliseconds && milliseconds <= 60 * 60 * 24 * 30 * 12){
    timeSpanStr = Math.ceil(milliseconds / (60 * 60 * 24 * 30)) + '个月前';
  }
  //超过一年显示
  else {
    timeSpanStr = year + '年' + month + '月' + day + '日 ' + hour + ':' + minute;  
  }
  return timeSpanStr;
}

总结

以上所述是小编给大家介绍的JS根据Unix时间戳显示发布时间是多久前 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!


相关文章

  • node.js微信授权获取用户信息

    发布:2020-03-11

    这篇文章主要介绍了node.js实现微信开发之获取用户授权,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • JS正则表达式验证中文字符的方法详解

    发布:2020-01-31

    本篇文章主要介绍了JS正则表达式验证中文字符的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧


  • vue.js单页面应用实例

    发布:2020-03-17

    本篇文章主要介绍了vue.js单页面应用实例的简单实现,使用单页应用,没有页面切换,就没有白屏阻塞,可以大大提高 H5 的性能,达到接近原生的流畅体验。


  • Node.js中使用计时器定时执行函数的方法实例

    发布:2019-08-09

    这篇文章主要介绍了Node.js中使用计时器定时执行函数详解,本文使用了Node.js中的setTimeout和setInterval函数,需要的朋友可以参考下


  • 详解Python的json文件读取及中文乱码显示问题解决方法

    发布:2019-06-06

    这篇文章主要介绍了Python实现的json文件读取及中文乱码显示问题解决方法,涉及Python针对json文件的读取载入、编码转换等相关操作技巧,需要的朋友可以参考下


  • d3.js实现立体柱图的实例代码

    发布:2020-04-13

    这篇文章主要给大家介绍了利用d3.js实现立体柱图的方法,文中给出了详细的介绍和示例代码供大家参考学习,需要的朋友们下面来一起看看吧。


  • JQuery和Js中让ajax执行完后再继续往下执行的实现方法

    发布:2020-02-02

    查了不少资料,最后,还是jquery指南的书上找到了详细的参数(async: false,),做好后,示例代码放上,如下所示,需要的朋友可以参考下


网友讨论