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 相关文章推荐
对YUI扩展的Gird组件 Part-1
Mar 10 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
Apr 09 Javascript
通过jQuery源码学习javascript(二)
Dec 27 Javascript
js定时调用方法成功后并停止调用示例
Apr 08 Javascript
用原生js做个简单的滑动效果的回到顶部
Oct 15 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
Oct 29 Javascript
jQuery复制表单元素附源码分享效果演示
Sep 30 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
Apr 13 Javascript
微信小程序删除处理详解
Aug 16 Javascript
详解.vue文件解析的实现
Jun 11 Javascript
JavaScript刷新页面的几种方法总结
Mar 28 Javascript
2019最新21个MySQL高频面试题介绍
Feb 06 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学习之PHP运算符
2006/10/09 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
PHP基础知识介绍
2013/09/17 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
JavaScript 继承详解(一)
2009/07/13 Javascript
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
node简单实现一个更改头像功能的示例
2017/12/29 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
python 编码规范整理
2018/05/05 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
银行柜员应聘推荐信范文
2013/11/24 职场文书
大学活动邀请函
2014/01/28 职场文书
触摸春天教学反思
2014/02/03 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
工伤调解协议书
2016/03/21 职场文书