微信小程序日期计算IOS无效的问题

为了缓解服务器的压力,决定清除一些日期较早的报告文件,经过研讨决定咋微信小程序上限制只能下载30天以内的报告。这时候我们就需要计算当天日期与出报告的日期之间的间隔,如果是超过三十天的就不允许下载报告。

需求是很简单,用日期的getTime进行计算就可以轻易得到相隔日期

// An highlighted block
let today = new Date().toLocaleDateString();//当天时间(格式是xxxx-x-xx)
let report_date = '2022-09-04';//出报告时间
let date= (new Date(today).getTime() - new Date(report_date).getTime()) / 1000 / 60 / 60 / 24//计算出间隔日期

当date小于30的时候才能下载报告,代码在微信开发者工具真机调试与安卓手机测试都没啥问题,但是在ios中date打印出来的是NAN。由于之前吃过这方面的亏,所以第一时间就想是日期格式的问题,于是把代码改成了下面

 let year = new Date().getFullYear()
 let month = new Date().getMonth()+1
 let day = new Date().getDate()
 let today = `${year}-${month}-${day}`//打印出来today 为xxxx-xx-xx格式

本以为这样就没有问题了,但是不出意外他还是出意外了,打印出来date还是NAN,于是一查资料发现ios识别的日期格式为xxxx/xx/xx,我真是*****。于是把报告时间和当前时间的日期格式改一下:

 let year = new Date().getFullYear()
 let month = new Date().getMonth()+1
 let day = new Date().getDate()
 let today = `${year}/${month}/${day}`//打印出来today 为xxxx-xx-xx格式
 let report_date = report_date.replace(/-/g,'/')//把-符号改为/符号
 let date= (new Date(today).getTime() - new Date(report_date).getTime()) / 1000 / 60 / 60 / 24

这时候date打印出来的时间就正确了 在ios上也完美运行了。
微信小程序这东西说方便吧是真的方便,说不方便吧那坑是真的多,咱也只能慢慢踩,慢慢进步了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容