1

我有以下问题。我有一个石英作业,每 5 分钟运行一次,并进行 Web 服务调用以检索大对象。此应用程序的目的是它将遍历对象中的列表并从多个类别中捕获计数。

一个具体要求是为每个类别分配一个任意窗口,例如上午 9 点至下午 12 点。如果我们在该窗口中,则计数将添加到从先前作业继续的滚动计数中,否则将被忽略。

问题。我正在从文件中加载可配置的开始时间(格式为东部标准时间上午 9:00)和int持续时间(以分钟为单位,即 180).properties

问题是处理这个问题的最佳方法是什么。现在我只是将可配置的开始时间转换为long我的业务类被实例化的时间。我Calendar用来计算long结束时间的值。由于这些都是 1970 年的时间,当我想知道现在是否介于这两个时间之间时,我需要一些讨厌的东西。我采用当前new Date()格式,去掉年份,Formatter再次使用parse()1970 年的日期,然后我可以long与我的开始和结束时间进行简单比较。

我知道必须有一种不那么丑陋的方法来解决这个问题。有什么想法吗?

4

1 回答 1

7

您可能想查看 Joda time (http://joda-time.sourceforge.net/),它包含一个更健全的 API 来处理时间。

于 2011-03-13T13:34:58.020 回答