小程序获取日期new Date(),居然是昨天的日期,BUG?

发布于 7 年前作者 xia715053 次浏览最后编辑 7 年前来自 ask
/**
* 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 回复
xueming
xueming1 楼6 年前

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

mren
mren2 楼6 年前

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

pcao
pcao3 楼6 年前

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

bli
bli4 楼6 年前

手机系统时间调过没

fangyao
fangyao5 楼6 年前

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

rqin
rqin6 楼6 年前

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

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

ping53
ping537 楼5 年前

华为 还有这个问题么…