机房收费系统中的分时间段计费问题
我现在考虑设计一个分段计时计算消费额的程序,考虑跨天和年,我的想法是设定一个费率表
将一天24小时划分为几个时段,每个时段设定不同的费率。
在费率设置时,每一时段只设定开始时间,不需设定结束时间。这是因为本软件系统将每一时段的开始时间设定为既是本时段的开始点,又是上一时段的结束点,从而形成了一个循环。
例:我们将一天24小时分为3段:00:00~06:00、06:00~18:00、18:00~00:00,
即00:00既是00:00~06:00这时段的开始点,也是18:00~00:00这一时段的结束点,其它点与此相同,所以我们在费率设定时只需分别设置00:00、06:00、18:00这三个开始时间点的费率,即00:00所对应的消费的费率即是00:00~06:00这个时段的费率,06:00所对应的消费的费率即是06:00~18:00这个时段的费率,18:00所对应的消费的费率即是18:00~00:00(次日)这个时段的费率,因此就分别设定了三个时段的费率。
我的问题是在计算消费额的时候,应该用怎样算法来实现这个计费过程,特别是在跨时间段的消费的情况下,如何设计才合理?