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 相关文章推荐
fromCharCode和charCodeAt 方法
Dec 27 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
Sep 26 Javascript
浅谈javascript中的call、apply、bind
Mar 06 Javascript
相册展示PhotoSwipe.js插件实现
Aug 25 Javascript
AngularJS中的缓存使用
Jan 11 Javascript
jQuery实现限制文本框的输入长度
Jan 11 Javascript
Javascript同时声明一连串(多个)变量的方法
Jan 23 Javascript
Angular.js中下拉框实现渲染html的方法
Jun 18 Javascript
基于Vue实现拖拽效果
Apr 27 Javascript
详解如何webpack使用DllPlugin
Sep 30 Javascript
Vue Router中应用中间件的方法
Aug 06 Javascript
js实现车辆管理系统
Aug 26 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文件缓存类汇总
2014/11/21 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
JQUERY 对象与DOM对象之两者相互间的转换
2009/04/27 Javascript
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
AngularJS实现全选反选功能
2015/12/08 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
微信小程序左右滑动的实现代码
2017/12/15 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
2019/03/28 Javascript
VUE使用axios调用后台API接口的方法
2020/08/03 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
itchat和matplotlib的结合使用爬取微信信息的实例
2017/08/25 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
浅谈python数据类型及类型转换
2017/12/18 Python
python实现随机漫步方法和原理
2019/06/10 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
python psutil模块使用方法解析
2019/08/01 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
企业管理专业个人求职信范文
2013/09/24 职场文书
年度考核自我鉴定
2013/11/09 职场文书
应用化学专业职业生涯规划书
2013/12/31 职场文书
高一新生军训感言
2014/03/02 职场文书
司机个人年终总结
2015/03/03 职场文书