小程序

[小程序] 将日期时间转化为几天前,几小时前,几分钟前(完整代码)

文 / 倔强的巴顿 来源 / 原创 阅读 / 5419 5年前

在做微信小程序开发时,有些比较偏社交属性的小程序,通常会不直接显示日期时间,而是转为一个粗略、模糊的日期时间概念。

即,前端显示为:N月前、N天前、N小时前、N分钟前、刚刚等。这种简化了的日期模式。


于是,我们就需要在小程序开发过程中配置一个通用方法/过滤器,将后端发来的默认日期格式转换为上面所述的简化日期。


# 详细源码 #

  const formatMsgTime = function (dateStr) {
      var dateObj = dateStr.replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '').replace(/(-)/g, '/')
      var targetDate = new Date(dateObj);
      var year = targetDate.getFullYear();
      var month = targetDate.getMonth() + 1;
      var day = targetDate.getDate();
      var hour = targetDate.getHours();
      var minute = targetDate.getMinutes();
      var second = targetDate.getSeconds();
      var nowDate = new Date();
      var now_new = Date.parse(nowDate.toString());
      var milliseconds = 0;
      var timeSpanStr;
      milliseconds = now_new - targetDate;
      if (milliseconds <= 1000 * 60 * 1) {
          timeSpanStr = '刚刚';
      }
      else if (1000 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60) {
          timeSpanStr = Math.round((milliseconds / (1000 * 60))) + '分钟前';
      }
      else if (1000 * 60 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24) {
          timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60)) + '小时前';
      }
      else if (1000 * 60 * 60 * 24 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24 * 15) {
          timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60 * 24)) + '天前';
      }
      else if (milliseconds > 1000 * 60 * 60 * 24 * 15 && year == nowDate.getFullYear()) {
          timeSpanStr = month + '-' + day;
      } else {
          timeSpanStr = year + '-' + month + '-' + day;
      }
      return timeSpanStr;
  }
module.exports = {
    formatMsgTime: formatMsgTime
}


# 使用方法 #

1,将上述代码保存为utils-days.js文件,放置在小程序公用目录里;

2,在需要使用的页面或者模块的js文件头部,导入该文件;

const utilsDays = require('../utils/utils-days');

3, 使用该方法;

this.setData({
    newDate: utilsDays.formatMsgTime(systemDate);
})


# 下载源码 #

见该文章右侧下载链接


下载链接

[小程序] 将日期时间转化为几天前,几小时前,几分钟前(完整代码)
[小程序] 将日期时间转化为几天前,几小时前,几分钟前(完整代码)

模板类型:

小程序

软件版本:

源码插件

评分等级:

推荐

下载地址:

立即获取

注意事项:

本站内分享的模板默认都是基于YzmCMS,详细安装方法见模板安装说明

如果下载的模板无法正常使用或报错,请至YzmCMS社区论坛寻求帮助,或者加入QQ群(161208398)谈论反馈问题。

ps: 小程序、代码片段或静态模板等,请忽略该注意事项。

23

评论

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
[小程序] 将日期时间转化为几天前,几小时前,几分钟前(完整代码)
[小程序] 将日期时间转化为几天前,几小时前,几分钟前(完整代码)

模板类型:

小程序

软件版本:

源码插件

评分等级:

推荐

下载地址:

立即获取

注意事项:

本站内分享的模板默认都是基于YzmCMS,详细安装方法见模板安装说明

如果下载的模板无法正常使用或报错,请至YzmCMS社区论坛寻求帮助,或者加入QQ群(161208398)谈论反馈问题。

ps: 小程序、代码片段或静态模板等,请忽略该注意事项。

站点声明:本站转载作品版权归原作者及来源网站所有,原创内容作品版权归作者所有,任何内容转载、商业用途等均须联系原作者并注明来源。

© 2024 The Pride & Joy of an Artisan. · Designed By duoguyu · Powered By YzmCMS京ICP备19008479号-1
相关侵权、举报、投诉及建议等,请发E-mail:tonney@duoguyu.com

友情链接: YzmCMS 袁志蒙博客 坚果的世界 UXDtime 飞信网 追梦者 sjhv的杂货店 碧羽墨轩博客 薛定喵君 RollApi 简记 wen学习志 歪脖博客 逸风Ryen

扫码体验小程序