小程序
小游戏
企业微信
微信支付
扫描小程序码分享
感觉可以通过聚合操作实现,但是API中并没有处理时间戳的
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
// 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
// dateBase为起点ISODate
let dateBase = $.dateFromParts({year: 1970, month: 1, day: 1, hour: 8, minute: 0, second: 0, millisecond: 0, timezone: 'Asia/Shanghai'})
// 时间戳转日期 = 起点ISODate + 13位的时间戳(即包括毫秒)
// timestamp为时间戳Number型字段,如果是13位就直接是'$timestamp',如果是10位,则要乘以1000,即$.multiply(['$timestamp', 1000])
let timstampToDate = $.add([dateBase, $.multiply(['$timestamp', 1000])])
return db.collection('xxxx').aggregate()
.addFields({
formatDate: $.dateToString({
date: timstampToDate,
format: '%Y-%m-%d %H:%M:%S.%L',
timezone: 'Asia/Shanghai'
})
.end()
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
end(
success:funcion(e){
console.log(e)
}
)
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
// 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
// dateBase为起点ISODate
let dateBase = $.dateFromParts({year: 1970, month: 1, day: 1, hour: 8, minute: 0, second: 0, millisecond: 0, timezone: 'Asia/Shanghai'})
// 时间戳转日期 = 起点ISODate + 13位的时间戳(即包括毫秒)
// timestamp为时间戳Number型字段,如果是13位就直接是'$timestamp',如果是10位,则要乘以1000,即$.multiply(['$timestamp', 1000])
let timstampToDate = $.add([dateBase, $.multiply(['$timestamp', 1000])])
return db.collection('xxxx').aggregate()
.addFields({
formatDate: $.dateToString({
date: timstampToDate,
format: '%Y-%m-%d %H:%M:%S.%L',
timezone: 'Asia/Shanghai'
})
})
.end()
end(
success:funcion(e){
console.log(e)
}
)
可以在end里直接或取修改后的值