0

在此处输入图像描述

正如您在图片中看到的,我有 3 个费率。

黄色价格
周一 - 周六 00:00 - 06:00
周一 - 周五 18:00 - 24:00
周六 11:00 - 18:00

白费率
周一至周五 06:00 - 18:00
周六 06:00 - 11:00

RED 费率
周六 18:00 - 24:00 周日 00:00 - 24:00

我将如何在日期和小时之间进行小时计算,例如

所以如果我工作

开始时间:1 月 8 日 10:00 结束:1 月 9 日 23:00

我怎样才能对此进行javascript计算?

4

1 回答 1

0

其中一个费率可能是默认费率,看起来白色适合这个。接下来,创建数据结构来定义其他两个速率。黄色率的这个数据结构可能是这样的:

var yellow = [];
var monday = [0, 1, 2, 3, 4, 5, 18, 19, 20, 21, 22, 23];
var tuesday = monday;
// etc.
yellow.push(monday);
yellow.push(tuesday);
// etc.

接下来创建一个函数,该函数在输入中接受两个参数 - 星期几和小时 - 并返回该小时的费率。在函数内部,搜索输入参数对应的日和小时的非默认费率。如果未找到非违约率,则返回默认(白色)率。

最后,创建一个函数,该函数有两个输入参数 from 和 to 并按小时循环时间并调用前一个函数以获取每小时的费率。

于 2015-10-06T21:58:33.050 回答