将字符串“30-MAR-07”转换为日期对象

时间:2012-07-17 17:10:49

标签: java date simpledateformat

SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy");
dt = formatter.parse(temp[0]);

给我错误

java.text.ParseException:Unparseable date:“30-MAR-07”

有没有什么方法可以将给定的String格式化为Date对象,而无需编写自己的字符串拆分和转换为月份数字方法?感谢

3 个答案:

答案 0 :(得分:10)

使用正确的格式,如下所示,

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy");

答案 1 :(得分:6)

“30-MAR-07”的SimpleDateFormat模式完全不正确。它的值是错误的,它使用错误的分隔符和错误的月份格式。你想要:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy");

您可能还想指定区域设置,例如

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy", Locale.US);

我已经检查过这是否有效 - 至少在我的机器上:)

答案 2 :(得分:-1)

试试这个...... (new SimpleDateFormat("dd-MMM-yy")

System.out.println(new SimpleDateFormat("dd-MMM-yy").format(new Date("30-MAR-07")));