小程序获取日期new Date(),居然是昨天的日期,BUG?
发布于 6 年前 作者 xia71 4903 次浏览 来自 问答
/**
* YYYY-MM-dd
*/
function formatDate(date) {
 let year = date.getFullYear()
 let month = date.getMonth() + 1
 let day = date.getDate()
 return [year, month, day].map(formatNumber).join('-');
}
function formatNumber(n) {
 n = n.toString()
 return n[1] ? n : '0' + n
}
//调用
let now = util.formatDate(new Date());

比如今天是2018-06-03,但now结果居然是“2018-06-02”

这种情况在近两个月内,发生过两次了,均是华为手机,且把小程序从“发现”页删除,重新扫描打开就好了

还有一种现象是,出现问题的手机,下午获取的日期就又正确了,早上是错的。

什么原因?难道是代码问题?不可能是new Date()返回的值不对吧?

由于是客户手机,未知基础库版本,小程序后台限制最低是1.9.1

7 回复

呵呵呵,你明天看,会发现是前天的时间.

我也写了个时间过滤器,在开发者工具上查看时间处理正确,在手机预览时错误。。。。

为什么不是后台返回时间?前台的时间可以夏季吧改

手机系统时间调过没

时区问题,就比如你那个“2018-06-02”不是北京时间,是+0的时间

趁着这贴子看的人多,再发个最近碰到的奇怪plus+问题贴

在社区已沉的帖子地址,点这里

华为 还有这个问题么…

回到顶部