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 相关文章推荐
Mootools 1.2教程 排序类和方法简介
Sep 15 Javascript
JavaScript 高级篇之闭包、模拟类,继承(五)
Apr 07 Javascript
ajax请求乱码的解决方法(中文乱码)
Apr 10 Javascript
元素绑定click点击事件方法
Jun 08 Javascript
JavaScript中标识符提升问题
Jun 11 Javascript
jQuery实现图片局部放大镜效果
Mar 17 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
May 10 Javascript
webpack入门必知必会
Jan 16 Javascript
微信小程序 devtool隐藏的秘密
Jan 21 Javascript
JS实现显示当前日期的实例代码
Jul 03 Javascript
webpack4.x打包过程详解
Jul 18 Javascript
vue中的ref和$refs的使用
Nov 22 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
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
学习jquery之一
2007/04/27 Javascript
JS的数组的扩展实例代码
2008/07/09 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
js实现漫天星星效果
2017/01/19 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
Element图表初始大小及窗口自适应实现
2020/07/10 Javascript
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python中 * 的用法详解
2019/07/10 Python
python 判断字符串中是否含有汉字或非汉字的实例
2019/07/15 Python
Python 实现简单的客户端认证
2020/07/29 Python
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
do you have any Best Practice for testing
2016/06/04 面试题
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
护士实习生自我鉴定范文
2013/12/10 职场文书
管理专员自荐信
2014/01/26 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
学校师德承诺书
2014/05/23 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
2015年幼儿园班主任个人工作总结
2015/10/22 职场文书
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python
Feign调用传输文件异常的解决
2021/06/24 Java/Android
如何通过一篇文章了解Python中的生成器
2022/04/02 Python