java - 日期最佳实践

标签 java date-comparison

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

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

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

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

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

最佳答案

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

关于java - 日期最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5289645/

相关文章:

java - 将字符串转换为 char 并按降序排序 (ascii)

java - 比较列表中字符串的日期

java - 使用 Java JDBC 针对 MySQL 的 "count"查询的返回类型是什么?

java - 将 ASN1ObjectIdentifier 转换为 Java 中的可读字符串

java - 如何在 Android 中比较用户选择的日期与起始日期和截止日期?

java - 如何从另一个 LocalDate 中减去 localDate

PHP 和 MySQL : Comparing month and day with dynamic year

jquery - jquery 比较日期

java - 使用 Play 进行用户管理的最佳实践!框架?

java - 如何在android中使用断言?