【发布时间】:2024-01-15 01:47:01
【问题描述】:
我正在处理需求,需要检查我已实现的逻辑。请帮忙。
我想从当前日期获得 1 个月、3 个月和 6 个月的股票价格回报百分比。 我有一个表格,其中包含日期和价格数组字段,如图所示。
{
"_id" : ObjectId("5a65d0e7bfd103df081a75a8"),
"aId" : 93,
"values" : [
{
"date" : "2018-02-06",
"Price" : 27.9057
},
{
"date" : "2018-02-05",
"Price" : 28.0406
}
]
}
我的逻辑
-
遍历日期、价格数组并将日期传递给计算天差的函数。
function differenceFromTodayInDays(FromDate) { var currentDate = new Date(); var previousDate = new Date(FromDate); var difference = Math.floor(currentDate.getTime() - previousDate.getTime()); var secs = Math.floor(difference / 1000); var mins = Math.floor(secs / 60); var hours = Math.floor(mins / 60); var days = Math.floor(hours / 24); return days; } -
如果 days = 30,31 或 60,61 或 91,90,92,93,则将天数放入不同的数组中
if (differenceInDays == 30 || differenceInDays == 31) { $scope.days30.push(index);
到目前为止,总体而言
$scope.timeDiffInDays = function(index, otherDate) {
$scope.days30 = [];
var differenceInDays = differenceFromTodayInDays(otherDate);
if (differenceInDays == 30 || differenceInDays == 31) {
$scope.days30.push(index);
}
}
这里我有指数,可以获取该指数的价格值并根据当前值计算回报率。
我的担忧是
- 数组中的值每天都在增加,它会减慢进程。
- 30/31/60/61/90/91 的日期差异有时不可用,因为有些日子是假期,并且这些值不在数组中。因此很难获得回报 %。
我正在为此寻找一些有效的逻辑。
谢谢, J
【问题讨论】:
标签: javascript angularjs node.js logic concept