我正在构建一个日程安排系统。目前的系统只使用excel,他们输入的时间是9:3-5 (意思是9:30 5pm 5 5pm)。我还没有设置如何存储这些时间的格式,我想我可能不得不使用军事时间来计算小时数,但如果可能的话,我想避免这种情况。但基本上我需要弄清楚如何计算小时数。例如,9:3-5将是(7.5小时)。我也对不同的存储时间的方式持开放态度。我只需要能够以一种简单的方式显示它为用户理解,并能够计算出它是多少个小时。
有什么想法吗?
谢谢!!
发布于 2009-10-23 16:42:26
快速又脏又难看的解决方案
public static const millisecondsPerHour:int = 1000 * 60 * 60;
private function getHoursDifference(minDate:Date, maxDate:Date):uint {
return Math.ceil(( maxDate.getTime() - minDate.getTime()) / millisecondsPerHour);
}
发布于 2009-10-23 17:41:24
好的,这听起来像是你在谈论改变一个目前由一个人使用excel电子表格开发的时间表或计划,并且想要“计算机化”这个过程。第一个警告:“调度不是微不足道的。”如何存储时间并不那么重要,但通常需要建立一定的粒度级别,并将任务时间转换为此时间间隔的整数倍,以简化调度任务。
如果你想自动化这个过程或者只是简单地检查错误,你会想要抽象化一些东西。一个基本的每周日历开始和停止时间,也许班次信息将是需要的。从一开始就计划一个例外日历会是一个好主意。例外日历允许节假日和其他例外。将需要一个包含资源和容量信息的表。需要一个表,其中包含要调度的所有任务以及任务之间的任何依赖关系。您想要考虑并发需求吗?(我需要一辆卡车和一个司机...)您是否要考虑间歇性地调度资源?您应该支持向前还是向后调度?您是否计划支持假设场景?(然后你会想要一个独立于计划时间表的主时间表)你想确定如何将任务放在时间表上的优先级吗?(根据要做的工作,这里需要做很多工作。)您可能非常希望确定要实际调度的任务的子集。然后,只需提供一种报告机制,以显示剩余工作是否可以放入计划中的空白区域。(如果你不能在可用时间内完成最苛刻的10%,谁会关心剩下的90%)
第二个警告:“如果是上帝写的时间表,大多数公司都不能遵循它。”
https://stackoverflow.com/questions/1614606
复制相似问题