云函数中使用new Date()获取的时间是正确的,但是使用 new Date().toLocaleString() 获取到的时间差8小时。
使用自己格式化函数也差8小时。不知道是为什么 ?
const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
}
const formatNumber = n => {
n = n.toString()
return n[1] ? n : `0${n}`
}
module.exports = {
formatTime
}
配置时区![](http://mmbiz.qpic.cn/mmbiz_png/ibe7hRF8sx4lHPNwBomdKljHnzDC1etQHBZkib4wicUgJb5MjUsELY2SGK7Y1UDOXCj3ZL1DHnRNB5PhNN5ic4ibJEA/0?wx_fmt=png)
端服务器时间默认为0时区,与中国时间相差8小时,可以在云函数配置里添加一条环境变量 key为TZ value为Asia/Shanghai
云函数里的时区是0时区。