// 时间戳是指格林威治时间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()