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 相关文章推荐
JQery jstree 大数据量问题解决方法
Mar 09 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
Jun 03 Javascript
JS保留两位小数 四舍五入函数的小例子
Nov 20 Javascript
Json实现异步请求提交评论无需跳转其他页面
Oct 11 Javascript
JavaScript动态修改背景颜色的方法
Apr 16 Javascript
JSON字符串和对象之间的转换详解
May 26 Javascript
arcgis for js 修改infowindow样式的方法
Nov 02 Javascript
JSON与js对象序列化实例详解
Mar 16 Javascript
详细分析jsonp的原理和实现方式
Nov 20 Javascript
js闭包学习心得总结
Apr 17 Javascript
vue中使用codemirror的实例详解
Nov 01 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
Jul 25 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
AM/FM收音机的安装与调试
2021/03/02 无线电
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
必备的JS调试技巧汇总
2016/07/20 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
jQuery创建折叠式菜单
2019/06/15 jQuery
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
Python中使用dom模块生成XML文件示例
2015/04/05 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
python实现简单日期工具类
2019/04/24 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
python sqlite的Row对象操作示例
2019/09/11 Python
python3 mmh3安装及使用方法
2019/10/09 Python
用python对oracle进行简单性能测试
2020/12/05 Python
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
幼儿园区域活动总结
2014/05/08 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
圣诞晚会主持词
2015/07/01 职场文书