大家好,我是浩冉然,今天给大家分享一篇关于通过时间戳差判断今天,昨天,前天并渲染到页面上的文章

因为需要这个功能(小编写的是论坛类的小程序),小编也是花了一个下午+晚上的时间去研究它,也看过其他大神写的,属实不是很好理解,今天就按我理解并解决的简单方法分享给大家

首先我们得理解什么是时间戳

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数.

它的单位有两种,一种是s,另一种是ms

13位的时间戳,其精度是毫秒(ms);

10位的时间戳,其精度是秒(s);

13位数的时间戳转化为10位数的时间戳 ,除以1000;

10位数的时间戳转化为13位数的时间戳 ,乘以1000;

在javascript中, var time = Date.now();通过Date.now()得到的time是13位的时间戳。

本文也是获取的13位时间戳

大概将一下主要逻辑

在发布时候通过获得13位时间戳存入字段名为时间time的字段值,在页面渲染多个数据时,令从数据库获得的对象下标从0,1..开始将对象中的time的字段值通过自己构造的函数返回真正的时间判断值(如今天几点,昨天几点之类的),该函数通过现在的时间戳和发布帖子传入数据库的时间戳相减,得出值再判断再返回,例如判断为今天的话,差值小于24*60*60=86400时就判断,昨天,前天以此类推

举个例子,本次的列表渲染用的是分页,全部直接渲染或者懒加载之类的列表渲染等的也类似,作出相应调整就是了

首先我们可以从数据库得到每个需要渲染到页面的帖子数据中的有关时间的值

然后在页面getdate()函数中读取数据库,获得res.data

将res.data赋值给list,执行for循环,将list[i].time重新赋值,再看我们自己构造的判断函数time()

time:function(e){console.log('打印第一个'+e ) var time = Date.now(); //当前的时间戳console.log(time)        console.log(time - e)var timecha = time - evar date1 = new Date(e);       //e是你传入数据的时间戳var year = date1.getFullYear();var month = date1.getMonth() + 1;var date = date1.getDate();var hour = date1.getHours();var mm = date1.getMinutes(); console.log("测试string:"+typeof e);//  根据自己需要通过判断timecha/1000的区间值来进行return赋值if( typeof e == 'string'){return e}else if(timecha/1000 <259200){console.log('时间为这三天')let  e = '前天' + hour + ':' +mmconsole.log(e)return e}else if(timecha/1000 >259200){console.log('时间为以前')let e = month+'-'+date+' '+hour+':'+mmreturn e}},

因为是通过s判断时间差的,所以要从13位时间戳转化成10位时间戳,就是除以1000

然后用if语句判断timecha/1000处于哪个区间了,为什么前面要typeof e == 'string'这个判断呢,因为,我用的上拉刷新的时候,本来有10条数据,又获得了10条数据,总共20条数据,但前十条已经赋值过了,所以会从原来的number数据类型变成string字符串类型,比如(1242434311114 变成了今天 15:00)举个例子哈并非真实的对应的time,如果直接全部渲染在页面的话就不用开头判断的这个if也行

渲染到页面的话,就在wxml中用wx:for循环就能依次渲染出来啦

好啦,讲到这里啦~,有什么问题私我呦~欢迎交流

【小程序云开发】通过时间戳差判断今天,昨天,前天并渲染到页面上相关推荐

  1. 微信小程序云开发 把时间戳转换成正常的时间格式上传到数据库中

    一.utils文件里面建一个utils.js文件(内容如下) 目录 一.utils文件里面建一个utils.js文件(内容如下) 二.在上传用户详情信息的界面最上方标注 三,在上传的函数中 四.结果 ...

  2. 小程序云开发,学习总结

    最近要参加一个比赛,用小程序做了一个论坛,然后想在这里做一个总结,主要是整理下自己是如何一步步做出来的,有哪些经验值得以后学习中借鉴,有哪些值得反思和改正,然后也给将要使用云开发做小程序的人一点参考. ...

  3. 解密小程序云开发数据库

    作者:phoenixxliu,腾讯 TEG 后台开发工程师 目录: 导语 一.背景 二.竞品分析 三.需求和挑战 四.架构和方案 五.总结和展望 导语 小程序云开发(Tencent CloudBase ...

  4. 微信小程序云开发实战:网上商城(二)

    微信小程序云开发实战:网上商城(二) 主页面 入口页面 云函数与云数据库 代码实现 云端实现 小程序端实现 选择UI组件库 WeUI Vant 整合UI组件库 以扩展包的方式引入weui 接下来 主页 ...

  5. 小程序云开发教程七:贴子的详情及评论功能

    我们先看看界面: 我们如果要实现评论功能, 先看一下总的数据结构: 那么需要什么参数呢? 参数如下 comment: 评论内容username: 用户名time: 评论时间userId: 用户idid ...

  6. 垃圾分类微信小程序——云开发+CMS+微应用+百度智能云图片识别

    功能列表 1.0.0版本: 三个版本,一个APPID,登录页选择版本 登录,openid判断 社区居民用户注册,一房一主 工作/清洁人员账号绑定,一人一号,一号一人 用户首页,直接展示搜索功能,包括图 ...

  7. 微信小程序云开发快速入门手册-告别切图仔的时刻到了

    文章很长,建议先收藏,有充分的时间再学习,没有小程序基础的,也阔以先收藏哦.   本文章会手把手带各位小伙伴入门微信小程序云开发,因为我还不是全栈工程师,所以不是特别清楚前后端分离模式下,后端工程师需 ...

  8. 微信小程序云开发,使用阿里云短信服务,搜索员工生日定期发送短信。

    相关API文档地址: 阿里云短信服务API文档地址 小程序云开发云函数正则匹配API文档地址 小程序云开发云函数定时触发器 1.登录阿里云,购买短信服务并添加签名和模板 2., 登录阿里云,鼠标放在右 ...

  9. 小程序云开发使用where查询遇到的问题

    原本想通过where查询,如果usr_info中包含某个username的话,就提示查找到该用户.一开始没反应过来,在小程序云开发的数据库查询中,where({username:"派大星&q ...

  10. 用小程序·云开发打造功能全面的博客小程序丨实战

    用小程序·云开发将博客小程序常用功能"一网打尽" 本文介绍mini博客小程序的详情页的功能按钮如何实现,具体包括评论.点赞.收藏和海报功能,这里记录下整个实现过程和实际编码中的一些 ...

最新文章

  1. page分页php,Page分页函数
  2. SQL中IN与EXISTS的比较
  3. linux maps,linux下/proc/pid/maps和pmap命令详解
  4. Register-SPWorkflowService 远程服务器返回错误: (404) 未找到
  5. mount 返回状态_状态管理模式 — Vuex如何使用?
  6. Win10怎么备份系统
  7. excel能创建html吗,如何通过Excel电子表格使用循环创建单独的HTML发布页面
  8. Anroid性能优化系列——Improving Layout Performance(二)
  9. java eclipse 监视选择指定变量
  10. 你会用JSON.stringify()?
  11. Android汉字按拼音首字母查询
  12. cordova build时出错Minimum supported Gradle version is 5.4.1. Current version is 4.10.3
  13. 智能家居的应用研究现状
  14. 阿里云的核心技术要点
  15. centos8启动kafka及kafka相关命令汇总
  16. C语言每日一练——第133天:打鱼还是晒网
  17. HWSWP和BSWP
  18. EventBus使用详解
  19. 2016 苹果全球开发者大会(WWDC)
  20. DevExpress 编译成功的 dll

热门文章

  1. jQuery中的$是什么意思及 $. 和 $().的区别
  2. 编程语言-闭包-浅析
  3. Oracle简介和安装
  4. C++ 语言学习 day01 (linux ),基本输入输出错误输出函数,名字空间的含义,内联函数,缺省参数,引用 ,、new操作符
  5. JavaScript之类型转换
  6. 基于uCOS-II系统使用STM32和Esp8266对接Yeelink物联网平台的Demo
  7. [UMDCTF 2023] crypto 部分
  8. 2022个人推荐好书
  9. 一种威胁绝大多数蓝牙设备的攻击载体——BlueBorne
  10. mysql5.5 和mysql8区别