[英]Javascript - How do i get every date in a week from a given week number and year
[英]How do you get a date to correspond to the week number of a year
我对 javascript 很陌生,我正在努力创建一个仪表板。 我想获得每周的订单数量,我已经能够做到。 现在,我得到了与一年中的一周相对应的数字,但是,我想得到与该周相对应的日期(星期一)。 我已经包括了我在下面的内容。 我将不胜感激有关如何执行此操作的任何帮助或指导。 谢谢!
const weeklyOrders = await Order.aggregate([
{
$group: {
_id: { $dateToString: { format: '%U', date: '$createdAt' } },
orders: { $sum: 1 },
},
},
{ $sort: { _id: 1 } },
]);
编辑:
const weeklyOrders = await Order.aggregate([
{
$group: {
_id:{ $dateFromParts: {
isoWeekYear: {$year: '$createdAt' },
isoWeek: { $isoWeek: '$createdAt' },
isoDayOfWeek: 1
},
},
orders: { $sum: 1 },
},
},
{ $sort: { _id: 1 } },
]);
有效,但日期采用 ISO 日期格式。 我试图在下面的代码中解决这个问题,但这没有用。
const weeklyOrders = await Order.aggregate([
{
$group: {
_id:{ date: {
$dateToString: { format: '%m-%d-%Y' },
},
},
orders: { $sum: 1 },
},
},
{ $sort: { _id: 1 } },
{
$addFields:{
date: {
$dateFromParts: {
isoWeekYear: {$year: '$createdAt' },
isoWeek: { $isoWeek: '$createdAt' },
isoDayOfWeek: 1
}
}
}
},
]);
您可以执行以下操作:
$year
和$isoWeek
获取特定日期的年和周数$dateFromParts
和"isoDayOfWeek": 1
转换回你想要的星期一这是Mongo 游乐场供您参考。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.