![](/img/trans.png)
[英]How to convert the DD-MM-YYYY HH:mm format to epoch time using moment or js?
[英]How to convert mongodb timestamps to dd-mm-yyyy format using mongoose and node.js?
我正在開發一個功能,我需要以dd-mm-yyyy
格式顯示存儲在 mongodb 中的時間戳。 但是我對如何編寫查詢以獲取所需格式的時間戳感到困惑。
下面是下拉集合的示例數據。
/* 1 */
{
"_id" : ObjectId("5e787e988f3b3f3a240e846e"),
"status" : true,
"company" : ObjectId("5e787e988f3b3f3a240e846d"),
"type" : "ticketstatus",
"name" : "Open",
"createdAt" : ISODate("2020-03-23T09:17:12.374Z"),
"updatedAt" : ISODate("2020-03-23T09:17:12.374Z")
}
/* 2 */
{
"_id" : ObjectId("5e787e988f3b3f3a240e846f"),
"status" : true,
"company" : ObjectId("5e787e988f3b3f3a240e846d"),
"type" : "ticketstatus",
"name" : "Closed",
"createdAt" : ISODate("2020-03-23T09:17:12.374Z"),
"updatedAt" : ISODate("2020-03-23T09:17:12.374Z")
}
/* 3 */
{
"_id" : ObjectId("5e7883ce8f3b3f3a240e8472"),
"status" : true,
"company" : ObjectId("5e787e988f3b3f3a240e846d"),
"type" : "ticketpriorities",
"name" : "High",
"createdAt" : ISODate("2020-03-23T09:39:26.167Z"),
"updatedAt" : ISODate("2020-03-23T09:39:26.167Z")
}
到目前為止正在使用的查詢,
dropdowns.find({"company":ObjectId('5e787e988f3b3f3a240e846d')});
獲取日期的正確方法是什么? 我需要編寫查詢還是需要使用代碼行來操作查詢返回的數據? 請建議我最好和最常用的方法。 謝謝。
您應該使用諸如moment或date-fns 之類的庫在客戶端格式化您的日期。
例如,使用 date-fns:
import { format } from 'date-fns'
format(new Date(), "dd-MM-yyyy")
// 16-04-2020
date-fns 是近來的首選庫,因為它是模塊化的,這意味着您只能導入您需要的函數(無從屬關系)。 請務必考慮最終用戶的時區。
如果您想在服務器端執行此操作,請使用 $dateToString 和上面評論中提到的聚合:
db.collection.aggregate([
{
"$match": {
company: ObjectId("5e787e988f3b3f3a240e846d")
}
},
{
"$project": {
createdAt: {
$dateToString: {
format: "%d-%m-%Y",
date: "$createdAt"
}
},
updatedAt: {
$dateToString: {
format: "%d-%m-%Y",
date: "$updatedAt"
}
},
}
}
])
這里的工作示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.