日期最佳实践

nsf*_*n55 0 java date-comparison

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

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

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

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

我知道必须采用一种不那么难看的方法来解决这个问题.有什么想法吗?

Arj*_*jms 6

你可能想看看Joda时间(http://joda-time.sourceforge.net/),其中包含一个更合理的API来处理时间.