微信小程序
dateToString
# AggregateCommand.dateToString(value: any): Object
支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合操作符。根据指定的表达式将日期对象格式化为符合要求的字符串。
# 参数
# value: any
# 返回值
# Object
# API 说明
dateToString
的调用形式如下:
db.command.aggregate.dateToString({
date: <日期表达式>,
format: <格式化表达式>,
timezone: <时区表达式>,
onNull: <空值表达式>
})
下面是四种表达式的详细说明:
下面是格式说明符的详细说明:
# 示例代码
假设集合 students
有如下记录:
{ "date": "1999-12-11T16:00:00.000Z", "firstName": "Yuanxin", "lastName": "Dong" }
{ "date": "1998-11-10T16:00:00.000Z", "firstName": "Weijia", "lastName": "Wang" }
{ "date": "1997-10-09T16:00:00.000Z", "firstName": "Chengxi", "lastName": "Li" }
# 格式化日期
下面是将 date
字段的值,格式化成形如 年份-月份-日期
的字符串:
const $ = db.command.aggregate
db
.collection('students')
.aggregate()
.project({
_id: 0,
formatDate: $.dateToString({
date: '$date',
format: '%Y-%m-%d'
})
})
.end()
返回的结果如下:
{ "formatDate": "1999-12-11" }
{ "formatDate": "1998-11-10" }
{ "formatDate": "1997-10-09" }
# 时区时间
下面是将 date
字段值格式化为上海时区时间的例子:
const $ = db.command.aggregate
db
.collection('students')
.aggregate()
.project({
_id: 0,
formatDate: $.dateToString({
date: '$date',
format: '%H:%M:%S',
timezone: 'Asia/Shanghai'
})
})
.end()
返回的结果如下:
{ "formatDate": "00:00:00" }
{ "formatDate": "00:00:00" }
{ "formatDate": "00:00:00" }
# 缺失情况的默认值
当指定的 <日期表达式>
返回空或者不存在的时候,可以设置缺失情况下的默认值:
const $ = db.command.aggregate
db
.collection('students')
.aggregate()
.project({
_id: 0,
formatDate: $.dateToString({
date: '$empty',
onNull: 'null'
})
})
.end()
返回的结果如下:
{ "formatDate": "null" }
{ "formatDate": "null" }
{ "formatDate": "null" }