运行以下java代码
String v_date_str = "03/04/2015";
Date v_date = new SimpleDateFormat("MM/DD/YYYY").parse(v_date_str);
DateFormat formatter = null;
formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date date_temp = null;
date_temp = (Date) formatter.parse("31-Dec-2012"); // String of same format a formatter
out.println("output: " + formatter.format(v_date));
我期待输出如下。
output: 03-MAR-2015
但我的输出为
output: 28-Dec-2014
请让我知道我哪里出错了,我该如何解决这个问题。
由于
答案 0 :(得分:2)
您正在使用错误的格式解析日期。 D
是一年中的某一天,而不是该月的某一天,即d
。 Y
是一周,而不是一年,y
。修复格式后,代码就会按预期执行:
Date v_date = new SimpleDateFormat("MM/dd/yyyy").parse(v_date_str);