java - 用于 Java 的智能日期/时间解析器

标签 java datetime

<分区>

是否有一些用于 Java 的智能日期/时间解析器库?我的意思是智能,我不需要指定日期/时间格式。 API 应该与此类似:

Calendar cal = DateTimeParser.parse("01/06/10 14:55");
cal = DateTimeParser.parse("1 Jan 2009"); // assumes 00:00 time
cal = DateTimeParser.parse("1.2.2010");
cal = DateTimeParser.parse("kygyutrtf"); // throws exception

更新:

// I'm telling the parser: "If unsure, assume US date format"
cal = DateTimeParser.parse("01/02/03", new Locale("en-us"));

最佳答案

JodaTime非常适合操作日期对象(例如 date.plusDays(10))

...但是 JChronic是您想要的自然语言日期解析,例如

Chronic.parse("now")
Chronic.parse("tomorrow 15:00")
Chronic.parse("14/2/2001")
Chronic.parse("yesterday")
Chronic.parse("20 Jan 2010")

您的问题类似于this一个。

关于java - 用于 Java 的智能日期/时间解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216191/

相关文章:

Java - 更改 JTextField 的位置

java - 为什么 setOnChangeListener 不能正常工作?

jquery - jqGrid - 未应用日期和时间格式

c# - 试图将字符串解析为 DateTime 格式 "02/01/2010"dd/MM/yyyy 而不是 "1/2/2010 MM/dd/yyyy

java - 使用 Java Servlet 的 HTTPS 数据加密

java - 如果数组 "a[]"中有更多成员,则 "b[]"我收到错误

java - 使用 JPA 的 Apache Server Servlet 上出现 NullPointerException

javascript - 格式化 Moment.js am/pm 以包含句点/点

c# - .NET DateTime ToString Culture en-US 在一些盒子上输出 4 位数年份,在其他盒子上输出 2 位数年份

python - 使用python获取当月的最后一个星期四