用Java解析约会?

我有dd-mmm-yy或d-mmm-yforms的文本格式的日期,其中月份是字母的缩写(例如,09年11月4日或12月12日等等)我会喜欢解析它以生成java.util.Date对象。

这可以通过利用java.text.DateFormat类来实现吗? 或者还有另一种简单的方法吗?

您可能需要使用SimpleDateFormat来解析自定义格式。 本文介绍格式的详细信息。

"d-MMM-yyyy" corresponds to 4-Nov-2009 

SimpleDateFormat是通常用于此的类。 请注意,此类不是线程安全的(有点反直觉),如果您在线程上下文中使用它,那么调查Joda及其DateTimeFormatter是值得的。

您可以使用java.text.SimpleDateFormat 。 点击链接,您将看到所有模式。

对于1-2位数天,您可以使用d模式。 对于3个字符的月份缩写,您可以使用MMM模式。 对于2位数年份,您可以使用yy模式。

所以以下应该做:

 String dateString = "4-Nov-09"; SimpleDateFormat sdf = new SimpleDateFormat("d-MMM-yy"); Date date = sdf.parse(dateString); 

无论你做什么,请使用Locale。 这样,当输入带有法语月份名称时,您仍然会得到合理的结果。

查看SimpleDateFormat

例子