评论

关于云函数时区的问题

关于云函数时区的问题

这个问题可能对有些场景不敏感,但是我下面说的场景那是太重要了,那就是签到

由于时区的问题,比如现在是28号,晚上8点,我在29号凌晨签到的时候,由于云函数端采用的是UTC+0 ,所以始终签到的是28号,问题非常重要,

这样就导致始终签到的是28号


官方文档如下


https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/notice.html

时区

云函数中的时区为 UTC+0,不是 UTC+8,在云函数中使用时间时需特别注意。如果需要默认 UTC+8,可以配置函数的环境变量,设置 TZ 为 asia/shanghai

这种情况就造成了下面这个问题

云开发服务器的nodejs时区是utc+0

小程序本地开发的时区是utc+8

同一段云函数在本地调试和云端调试时表现不一致



关于云函数时区,我看了几个帖子,这里整理下

1、云函数中时区问题

https://developers.weixin.qq.com/community/develop/doc/0002eea7518aa0ea5f39ce7fd56c09

2、云开发,获得的日期怎么能成为北京时间的日期?

https://developers.weixin.qq.com/community/develop/doc/000246fdf244305f44397a2e556000

这个帖子里面给出了两个方案,我验证后都没有生效,

3、云开发nodejs环境时区问题

https://developers.weixin.qq.com/community/develop/doc/0008c28e6687d8ddb2b8cf65056400


现在解决了,就是通过上面第三个问题里面的经验,增加环境变量之后,要重新部署云函数,或许要等个半小时。

写在2020-05-25

今天又写这块需求,增加环境变量之后一定要重新部署云函数,然后等个几分钟就好



关于UTC不知道是什么的可以先了解下

https://time.is/UTC

最后一次编辑于  2020-05-25  
点赞 5
收藏
评论

8 个评论

登录 后发表内容