专栏首页宅机吧小程序开发之timeago时间处理

小程序开发之timeago时间处理

作用:将一个时间戳转换成类似于“2天前”“5分钟前”等格式

如下图:

实现原理很简单,判断当前时间与传过来的数据即可:

源码:

utils/util.js

function commentTimeHandle(dateStr) {
var publishTime = dateStr, 
          date = new Date(publishTime * 1000), //获取dateStr的标准格式 console.log(date) 打印结果  Thu Sep 06 2018 18:47:00 GMT+0800 (中国标准时间)
// 获取date 中的 年 月 日 时 分 秒
          Y = date.getFullYear(),
          M = date.getMonth() + 1,
          D = date.getDate(),
          H = date.getHours(),
          m = date.getMinutes(),
          s = date.getSeconds();
// 对 月 日 时 分 秒 小于10时, 加0显示 例如: 09-09 09:01
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;
     }
var nowTime = new Date().getTime() / 1000, //获取此时此刻日期的秒数
          diffValue = nowTime - publishTime, // 获取此时 秒数 与 要处理的日期秒数 之间的差值
          diff_days = parseInt(diffValue / 86400), // 一天86400秒 获取相差的天数 取整
          diff_hours = parseInt(diffValue / 3600), // 一时3600秒
          diff_minutes = parseInt(diffValue / 60),
          diff_secodes = parseInt(diffValue);
if (diff_days > 0 && diff_days < 3) { //相差天数 0 < diff_days < 3 时, 直接返出
return diff_days + "天前";
     } else if (diff_days <= 0 && diff_hours > 0) {
return diff_hours + "小时前";
     } else if (diff_hours <= 0 && diff_minutes > 0) {
return diff_minutes + "分钟前";
     } else if (diff_secodes < 60) {
if (diff_secodes <= 0) {
return "刚刚";
          } else {
return diff_secodes + "秒前";
          }
     } else if (diff_days >= 3 && diff_days < 30) {
return M + '-' + D + ' ' + H + ':' + m;
     } else if (diff_days >= 30) {
return Y + '-' + M + '-' + D + ' ' + H + ':' + m;
     }
}
module.exports = {
timeago: commentTimeHandle
}

然后页面调用:

pages/index/index.js

const util = require("../../utils/util.js");

const time = util.timeago(timestamp);

本文分享自微信公众号 - 宅机吧(zhai-78)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用实战题目学习Python

    昨天在公众号发了第一个广告,是商家主动找的我,考虑到自己现在的粉丝比较少,我没有收取任何广告费。这篇关于Python的广告,大家还是结合自身实际再去买课,互联网...

    stormwen
  • 比较好用的移动端适配的两种方案及flexible和px2rem-loader在webpack下的配置

    https://www.w3cplus.com/mobile/lib-flexible-for-html5-layout.html

    蓓蕾心晴
  • Appium+python自动化(二十六)- 烟花一瞬,昙花一现 -Toast提示(超详解)

      今天宏哥在这里首先给小伙伴们和童鞋们分享一个有关昙花的小典故:话说昙花原是一位花神,她每天都开花,四季都灿烂。她还爱上了每天给她浇水除草的年轻人。后来,此事...

    北京-宏哥
  • Greenplum数据库使用总结(干货满满)--初级使用

    psql / clusterdb / createdb / dropdb / dropuser / gpbackup / gpcheck / gpcopy / ...

    小徐
  • 50年前的登月程序和程序员有多硬核

    2019年7月20日,是有纪念意义的一天,这天不是因为广大网民帮周杰伦在新浪微博上的超话刷到第一,而是阿波罗登月的50周年的纪念日。早在几年前,在Github上...

    Linux阅码场
  • 爬虫学习开篇

    在这个大数据时代,尤其是人工浪潮兴起的时代,不论是工程领域还是研究领域,数据已经成为必不可少的一部分,而数据的获取很大程度上依赖于爬虫的爬取,所以爬虫也逐渐变得...

    stormwen
  • 微信小程序与云开发

    Java、NodeJS、JavaScript、HTML5、CSS3、VueJs、ReactJs、前端工程化、前端架构

    达达前端
  • WEB开发面面谈之(5)——写JS时必须注意的的一些问题

    问题:逻辑复杂,事件绑定逻辑混乱,在某些浏览器上onload和onreadystatechange都会触发,需要另外加标记位判断,逻辑复杂。

    张炳
  • 零基础入门微信小程序开发

    最近一个小游戏“跳一跳”火得不得了,相信即使您自己没有玩过,身边的亲戚朋友也一定玩过。画面大致如下:

    Java编程指南
  • 一份真实的Python面试题

    自学Python已有一段时间了,就想着找份面试题来检验一下自己的学习情况,今天就和大家分享一份自己从网上找到的货真价实的Python面试题,每道题目看似简单,但...

    stormwen

扫码关注云+社区

领取腾讯云代金券