Parsing a date in Java?
我有日期的文本格式为dd-mmm-y或d-mmm-y,其中月份是字母缩写(例如,2009年11月4日或2005年12月12日等)。我想分析它以生成java.util.date对象。
这可以通过利用java.text.dateformat类实现吗?还是有其他简单的方法?
您可能需要使用simpledateformat来解析自定义格式。本文将解释格式化的细节。
1 | "d-MMM-yyyy" corresponds to 4-Nov-2009 |
SimpleDateFormat是通常用于此的类。注意,这个类不是线程安全的(有点违反直觉),如果您在线程上下文中使用这个类,那么研究joda及其datetimeformatter是值得的。
无论您做什么,请使用区域设置。这样,当输入以法语输入月份名称时,您仍然可以得到合理的结果。
你可以用
对于1-2位数的天,您可以使用
因此,应执行以下操作:
1 2 3 | String dateString ="4-Nov-09"; SimpleDateFormat sdf = new SimpleDateFormat("d-MMM-yy"); Date date = sdf.parse(dateString); |
签出simpledateformat
实例