微信小程序窥探时光bug修复记

420 阅读1分钟
原文链接: mp.weixin.qq.com

窥探时光微信小程序最核心的功能就是计算你的出生日期距离今天的时间差!也即小程序「时间」页面的功能。

看起来这个页面的功能挺简单的,其实编写它的算法还是费了不小的心思的。接触小程序之初,对javascript(小程序里面控制逻辑交互要用到的编程语言)一窍不通(其实现在也是马马虎虎)。完全不会计算日期差,然后我想到的办法就是降低计算的精度,只计算年份差。其余数据都是根据年份差得出来的。

后来我知道有时间戳(时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的毫秒数,不考虑闰毫秒。)的概念了,然后我利用时间戳计算了两个日期差的秒数,然后换算成天。计算精度大大提高。

不过也由此带来了一个问题,苹果手机不支持上述算法。于是我在计算时先判断用户的手机机型,再采取不同的计算方法。苹果用户依然采取只计算年份差的算法。导致计算结果在两种系统上不同的bug。

直到最近,我在一个博客上看到了这个问题的解决方法了。

于是我修改了计算日期差的函数(将“-”改为“/”),统一了安卓和ios端的计算结果。(版本V1.3.1 已发布)

「时间」的计算方法仍将不断升级...

 活在当下,逝去的不是时光!

点击下面的小程序卡片体验下改进版的「时光」👇