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


Posted in Javascript onJuly 10, 2019

后台接口给的时间数据为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时间戳显示发布时间是多久前 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
一端时间轮换的广告
Jun 26 Javascript
javascript StringBuilder类实现
Dec 22 Javascript
浅析JavaScript中两种类型的全局对象/函数
Dec 05 Javascript
JS中判断null、undefined与NaN的方法
Mar 26 Javascript
JQuery实现表格动态增加行并对新行添加事件
Jul 30 Javascript
用原生JS获取CLASS对象(很简单实用)
Oct 15 Javascript
node.js中的path.join方法使用说明
Dec 08 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
Jan 17 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
Feb 15 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
Apr 13 Javascript
javascript实现二叉树遍历的代码
Jun 08 Javascript
JavaScript实现旋转轮播图
Aug 18 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
Jul 10 #Javascript
JS将时间秒转换成天小时分钟秒的字符串
Jul 10 #Javascript
js Array.slice的8种不同用法示例
Jul 10 #Javascript
vue-router二级导航切换路由及高亮显示的实现方法
Jul 10 #Javascript
Vue编程式跳转的实例代码详解
Jul 10 #Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
Jul 10 #Javascript
Vue事件修饰符native、self示例详解
Jul 09 #Javascript
You might like
用PHP实现WEB动态网页静态
2006/10/09 PHP
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
php实现网站插件机制的方法
2009/11/10 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
python线程池threadpool使用篇
2018/04/27 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
jupyter实现重新加载模块
2020/04/16 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
三八红旗集体先进事迹材料
2014/05/22 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
计划生育诚信协议书
2014/11/02 职场文书
前台岗位职责
2015/02/13 职场文书
个人求职自荐信范文
2015/03/06 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL