前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序开发之timeago时间处理

小程序开发之timeago时间处理

作者头像
许坏
发布2019-08-20 09:44:54
1.4K0
发布2019-08-20 09:44:54
举报
文章被收录于专栏:宅机吧

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

如下图:

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

源码:

utils/util.js

代码语言:javascript
复制

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

代码语言:javascript
复制
const util = require("../../utils/util.js");

const time = util.timeago(timestamp);
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅机吧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档