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 相关文章推荐
如果文字过长,则将过长的部分变成省略号显示
Jun 26 Javascript
JavaScript 原型链学习总结
Oct 29 Javascript
JS中如何比较两个Json对象是否相等实例代码
Jul 13 Javascript
JavaScript在控件上添加倒计时功能的实现代码
Jul 04 Javascript
JSON对象转化为字符串详解
Aug 11 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 jQuery
微信小程序实现美团菜单
Jun 06 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
Nov 28 Javascript
Quasar Input:type=&quot;number&quot; 去掉上下小箭头 实现加减按钮样式功能
Apr 09 Javascript
vuex管理状态仓库使用详解
Jul 29 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
Nov 10 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 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操作数组相关函数
2011/02/03 PHP
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
js 页面输出值
2008/11/30 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
2019/04/12 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
简单解决Python文件中文编码问题
2015/11/22 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
Pandas中resample方法详解
2019/07/02 Python
python协程gevent案例 爬取斗鱼图片过程解析
2019/08/27 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
《会变的花树叶》教学反思
2014/02/10 职场文书
工程师岗位职责规定
2014/02/26 职场文书
财产保全担保书范文
2014/04/01 职场文书
我的小天地教学反思
2014/04/30 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
教你使用Python获取QQ音乐某个歌手的歌单
2022/04/03 Python
nginx 配置缓存
2022/05/11 Servers