用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
例子