我有两个问题,想知道能否一次解决。我正试图在Java(或Scala)中进行自然语言日期解析,并一直使用JChronic,这是出色的RubyGem Chronic 的端口。
我目前感觉只能编写自己的代码,或者可能将老旧的JChronic转换为使用Joda-Time并添加对部分支持的支持。是否有任何替代解决方案可以满足至少(2),甚至也许是(1)的要求?
但是存在两个问题:
JChronic 使用 java.util.Calendar 而不是 Joda-Time,而我认为可以非常合理地说,Joda-Time 是 JDK 日期库的替代品,或者应该成为其替代品。如果 Joda-Time 没有取代现有日期库,那么在 Oracle 完成诉讼并开始维护 Java 之后,JSR 310 肯定会这样做。
JChronic 不能处理“一般”的日期时间解析。如果我告诉它要解析“下周四下午4点”之类的内容,它会优雅地处理并给出正确时间的 Calendar 对象。但是如果我只说“2011年”或“1963年1月”之类的内容,它就无法处理 Joda-Time 中的一般日期范围或 Partials。
我目前感觉只能编写自己的代码,或者可能将老旧的JChronic转换为使用Joda-Time并添加对部分支持的支持。是否有任何替代解决方案可以满足至少(2),甚至也许是(1)的要求?