小程序云函数和云数据库中的时区必坑笔记
云函数
云函数中默认的时区是UTC +0
参考:注意事项 & FAQ
然而里面有个错误,导致我调试了好久才发现问题
设置云函数时区的两种方式:
-
在控制台设置:
- 环境变量 TZ=Asia/Shanghai
*注意:TZ大小写敏感,官方文档里写的是错误的!
- 环境变量 TZ=Asia/Shanghai
-
在代码中设置
- process.env.TZ=“Asia/Shanghai”
*注意:TZ大小写敏感
- process.env.TZ=“Asia/Shanghai”
云数据库
聚合指令$.dateToString如果不指定时区,默认是UTC +0。所以使用这个指令格式化日期字符串时一定要加上时区属性。
参考:MongoDB参考手册
$.dateToString({
date: '$closeBookingTime',
format: '%Y-%m-%d %H:%M',
timezone: 'Asia/Shanghai',
}),