我有以下问题。我有一个每5分钟运行一次的石英作业,并通过Web服务调用检索一个大对象。这个应用程序的目的是它将遍历对象中的List并从多个类别中捕获计数。
一个特定要求是为每个类别分配一个任意窗口,比如上午9点到下午12点。如果我们在该窗口中,则计数会从先前的作业继续添加到滚动计数中,否则将被忽略。
问题。我正在从int
文件加载可配置的开始时间(格式为美国东部时间上午9:00)和.properties
持续时间(以分钟为单位,即180)。
问题是处理这个问题的最佳方法是什么。现在,我只是在实例化业务类时将可配置的开始时间转换为long
。我使用Calendar
来计算结束时间的long
值。由于这些都是在1970年代,当我想知道现在是否在这两次之间时,它需要我的一些肮脏。我采用当前的new Date()
格式,删除年份,再次使用Formatter
到parse()
1970年的某个日期然后我可以与我的开始进行简单的long
比较和结束时间。
我知道必须采用一种不那么难看的方法来解决这个问题。有什么想法吗?
答案 0 :(得分:6)
你可能想看看Joda时间(http://joda-time.sourceforge.net/),其中包含一个更合理的API来处理时间。