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 相关文章推荐
jquery插件制作 表单验证实现代码
Aug 17 Javascript
Javascript实现重力弹跳拖拽运动效果示例
Jun 28 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
Sep 02 Javascript
jQuery的css()方法用法实例
Dec 24 Javascript
javascript去除字符串左右两端的空格
Feb 05 Javascript
jquery实现简单的banner轮播效果【实例】
Mar 30 Javascript
利用node.js如何创建子进程详解
Dec 09 Javascript
微信小程序scroll-view组件实现滚动动画
Jan 31 Javascript
浅谈Vue render函数在ElementUi中的应用
Sep 06 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
Jun 17 Javascript
ES6的异步终极解决方案分享
Jul 11 Javascript
微信小程序实现点赞业务
Feb 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
如何自定义微信小程序tabbar上边框的颜色
Jul 09 #Javascript
You might like
php jquery 实现新闻标签分类与无刷新分页
2009/12/18 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
phalcon框架使用指南
2016/02/23 PHP
php的debug相关函数用法示例
2016/07/11 PHP
js setattribute批量设置css样式
2009/11/26 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
js中的布尔运算符使用介绍
2013/11/20 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
Python 流程控制实例代码
2009/09/25 Python
python dict remove数组删除(del,pop)
2013/03/24 Python
在Python中移动目录结构的方法
2016/01/31 Python
Django Highcharts制作图表
2016/08/27 Python
Python基于递归算法求最小公倍数和最大公约数示例
2018/07/27 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
党员党性分析材料
2014/02/17 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
创先争优承诺书
2015/01/20 职场文书
三方合作意向书范本
2015/05/09 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
python数字图像处理实现图像的形变与缩放
2022/06/28 Python