Bạn không thể trực tiếp sử dụng "toLocaleString ()". Tuy nhiên, bạn có thể thêm phần bù vào.
1) Đường ống thứ ba được sử dụng để thêm phần bù
2) Quy trình thứ tư được sử dụng để định dạng ngày
var tzOffset = 5.5 * 1000 * 60 * 60;
db.MyCollection.aggregate( [
{ "$match": { "ProjectID" : 999 } },
{ "$sort": { "CreatedDate": -1 } },
{
$project: {
localTime: {
$let: {
vars: {
"localTime": { "$add": [ "$DueDate", tzOffset]
}
},
in: { $add: ["$$localTime"] }
}
}
}
},
{
$project: {
"_id": 0,
"formattedLocalTime": {
"$dateToString": {
"format": "%Y-%m-%d %H-%M",
"date": "$localTime"
}
}
}
}
]);
Đầu vào:-
"DueDate" : ISODate("2016-08-11T10:17:09.203Z")
"DueDate" : ISODate("2016-08-11T23:16:09.203Z")
Đầu ra:-
"formattedLocalTime" : "2016-08-11 15-47"
"formattedLocalTime" : "2016-08-12 04-46"
Hãy lưu ý kết quả đầu ra 2. Ngày tiếp theo được điền chính xác.