JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式


Posted in Javascript onJuly 10, 2019

最近在做项目的时候,需要把后台返回的时间转换成几秒前、几分钟前、几小时前、几天前等的格式;后台返回的时间格式为:2015-07-30 09:36:10,需要根据当前的时间与返回的时间进行对比,最后显示成几秒前、几分钟前、几小时前、几天前的形式。

1.由于返回的时间是字符串格式,所以要先转换成时间戳

//字符串转换为时间戳
function getDateTimeStamp (dateStr) {
  return Date.parse(dateStr.replace(/-/gi,"/"));
}

2.将返回的时间戳与当前时间戳进行比较,转换成几秒前、几分钟前、几小时前、几天前的形式。

function getDateDiff (dateStr) {
  var publishTime = getDateTimeStamp(dateStr)/1000,
    d_seconds,
    d_minutes,
    d_hours,
    d_days,
    timeNow = parseInt(new Date().getTime()/1000),
    d,
    date = new Date(publishTime*1000),
    Y = date.getFullYear(),
    M = date.getMonth() + 1,
    D = date.getDate(),
    H = date.getHours(),
    m = date.getMinutes(),
    s = date.getSeconds();
    //小于10的在前面补0
    if (M < 10) {
      M = '0' + M;
    }
    if (D < 10) {
      D = '0' + D;
    }
    if (H < 10) {
      H = '0' + H;
    }
    if (m < 10) {
      m = '0' + m;
    }
    if (s < 10) {
      s = '0' + s;
    }
  d = timeNow - publishTime;
  d_days = parseInt(d/86400);
  d_hours = parseInt(d/3600);
  d_minutes = parseInt(d/60);
  d_seconds = parseInt(d);
  if(d_days > 0 && d_days < 3){
    return d_days + '天前';
  }else if(d_days <= 0 && d_hours > 0){
    return d_hours + '小时前';
  }else if(d_hours <= 0 && d_minutes > 0){
    return d_minutes + '分钟前';
  }else if (d_seconds < 60) {
    if (d_seconds <= 0) {
      return '刚刚发表';
    }else {
      return d_seconds + '秒前';
    }
  }else if (d_days >= 3 && d_days < 30){
    return M + '-' + D + ' ' + H + ':' + m;
  }else if (d_days >= 30) {
    return Y + '-' + M + '-' + D + ' ' + H + ':' + m;
  }
}

3.使用方法:

dateStr:返回的时间字符串,格式如:2015-07-30 09:36:10

// 转换后的结果 
var str = getDateDiff(dateStr);
// 在控制台输出结果 
console.log(str);

总结

以上所述是小编给大家介绍的JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
js用图作提交按钮或超连接
Mar 26 Javascript
js日期时间补零的小例子
Mar 05 Javascript
手机平板等移动端适配跳转URL的js代码
Jan 25 Javascript
jquery选择器之层级过滤选择器详解
Jan 27 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
jQuery Validate表单验证入门学习
Dec 18 Javascript
layDate日期控件使用方法详解
Nov 15 Javascript
react-router 路由切换动画的实现示例
Dec 03 Javascript
vue-router路由模式详解(小结)
Aug 26 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
Nov 04 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
Nov 04 Javascript
vuex页面刷新导致数据丢失的解决方案
Dec 10 Vue.js
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
如何自定义微信小程序tabbar上边框的颜色
Jul 09 #Javascript
You might like
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
PHP实现浏览器格式化显示XML的方法示例
2019/01/22 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
js实现图片上传并预览功能
2018/08/06 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
python的dataframe和matrix的互换方法
2018/04/11 Python
python matplotlib 在指定的两个点之间连线方法
2018/05/25 Python
学生信息管理系统python版
2018/10/17 Python
pow在python中的含义及用法
2019/07/11 Python
QML使用Python的函数过程解析
2019/09/26 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
2020/01/20 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
销售文员的岗位职责
2013/11/20 职场文书
运动会广播稿100字
2014/01/11 职场文书
特色冷饮店创业计划书
2014/01/28 职场文书
大学生求职计划书
2014/04/30 职场文书
教师求职自荐信
2015/03/26 职场文书
体检通知范文
2015/04/21 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书