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中filter(),not(),split()使用方法
Jul 06 Javascript
基于JQuery的asp.net树实现代码
Nov 30 Javascript
jQuery移动和复制dom节点实用DOM操作案例
Dec 17 Javascript
js获取input标签的输入值实现代码
Aug 05 Javascript
调用HttpHanlder的几种返回方式小结
Dec 20 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
Oct 16 Javascript
封装好的一个万能检测表单的方法
Jan 21 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
js如何获取网页所有图片
May 12 Javascript
VuePress 中如何增加用户登录功能
Nov 29 Javascript
uni-app如何实现增量更新功能
Jan 03 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 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
4.与数据库的连接
2006/10/09 PHP
建立文件交换功能的脚本(二)
2006/10/09 PHP
PHP中的日期处理方法集锦
2007/01/02 PHP
如何判断php数组的维度
2013/06/10 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
2016/12/22 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
python中global用法实例分析
2015/04/30 Python
Python的Django框架中settings文件的部署建议
2015/05/30 Python
在Python的Django框架中simple-todo工具的简单使用
2015/05/30 Python
Django中提示消息messages的设置方式
2019/11/15 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
宝宝周岁宴答谢词
2014/01/26 职场文书
青春寄语大全
2014/04/09 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
高考诚信考试承诺书
2015/04/29 职场文书