第1个bug错误:云函数返回日期错误
云函数返回的小时数、分钟数、秒数,都是错误的。
var date = db.serverDate(), //日期
我把云函数的日期环境变量配置改为key: TZ,Value: Asia/Shanghai 时区。也是返回错误的。
AggregateCommand.hour
hour: $.hour('$date')
AggregateCommand.minute
minute: $.minute('$date')
AggregateCommand.second
second: $.second('$date')
第2个bug错误:云函数中 返回 new Date() 中获取的 getMonth() 月份 比实际月份晚1个月。比如现在是6月,可返回的月份是5月份。
var newDate = new Date() //今天日期
var dateMonth = newDate.getMonth() //月
我把云函数的日期环境变量配置改为key: TZ,Value: Asia/Shanghai 时区。也是返回错误的。
获取月份这个不是BUG,月份是0-11 不是1-12
AggregateCommand.hour
AggregateCommand.minute
AggregateCommand.second
这个三个返回的时间不对
有个更好的解决方案:
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/command/aggregate/AggregateCommand.dateToString.html
日期操作符 dateToString 方法
createDate: 1, //拉黑日期
//年月日 时分秒
dateYMDHM: $.dateToString({
date: '$createDate',
format: '%Y年%m月%d日 %H:%M:%S',
timezone: 'Asia/Shanghai'
}),
dateFullYear: $.dateToString({ //年
date: '$createDate',
format: '%Y',
timezone: 'Asia/Shanghai'
}),
dateMonth: $.dateToString({ //月
date: '$createDate',
format: '%m',
timezone: 'Asia/Shanghai'
}),
dateDate: $.dateToString({ //日
date: '$createDate',
format: '%d',
timezone: 'Asia/Shanghai'
}),
dateHour: $.dateToString({ //时
date: '$createDate',
format: '%H',
timezone: 'Asia/Shanghai'
}),
dateMinutes: $.dateToString({ //分
date: '$createDate',
format: '%M',
timezone: 'Asia/Shanghai'
}),
dateMillisecond: $.dateToString({ //秒
date: '$createDate',
format: '%S',
timezone: 'Asia/Shanghai'
}),