Sie können "toLocaleString()" nicht direkt verwenden. Sie können jedoch den Versatz hinzufügen.
1) Die dritte Pipeline wird verwendet, um den Offset
hinzuzufügen2) Die vierte Pipeline wird verwendet, um das Datum zu formatieren
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"
}
}
}
}
]);
Eingabe:-
"DueDate" : ISODate("2016-08-11T10:17:09.203Z")
"DueDate" : ISODate("2016-08-11T23:16:09.203Z")
Ausgabe:-
"formattedLocalTime" : "2016-08-11 15-47"
"formattedLocalTime" : "2016-08-12 04-46"
Bitte beachten Sie die Ausgabe 2. Das nächste Datum wird korrekt ausgefüllt.