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 相关文章推荐
html下载本地
Jun 19 Javascript
jquery索引在使用中的一些困惑
Oct 24 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
Dec 03 Javascript
ReactNative-JS 调用原生方法实例代码
Oct 08 Javascript
原生js实现可拖拽效果
Feb 28 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
Mar 06 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
Apr 20 jQuery
基于BootStrap的前端分页带省略号和上下页效果
May 18 Javascript
vue实现简单的星级评分组件源码
Nov 16 Javascript
Node.js 如何利用异步提升任务处理速度
Jan 07 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
Apr 26 Javascript
使用next.js开发网址缩短服务的方法
Jun 17 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 中执行系统外部命令
2006/10/09 PHP
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
超级实用的7个PHP代码片段分享
2012/01/05 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
PHP写的求多项式导数的函数代码
2012/07/04 PHP
php自定义时间转换函数示例
2016/12/07 PHP
一个实用的php验证码类
2017/07/06 PHP
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
利用Python实现微信找房机器人实例教程
2019/03/10 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
如何利用Python matplotlib绘制雷达图
2020/12/21 Python
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
安全教育演讲稿
2014/05/09 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
求职信范文怎么写
2015/03/19 职场文书
2015年外联部工作总结
2015/04/03 职场文书
体育教师研修感悟
2015/11/18 职场文书
三下乡活动心得体会
2016/01/23 职场文书
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android