问题:将String转换为java.util.Date

时间:2014-07-02 14:06:46

标签: java

当我使用"07/02/2014"将字符串java.util.Date(mm / dd / yyy)转换为SimpleDateFormatter时,我得到Sun Dec 29 00:00:00 CAT 2013的结果。

以下是我正在运行的代码:

DateFormat formatter;
formatter = new SimpleDateFormat("MM/DD/YYYY");
Date exactDate = formatter.parse("07/02/2014");

为什么会这样?

3 个答案:

答案 0 :(得分:7)

必须是:

  DateFormat formatter;
  formatter = new SimpleDateFormat("MM/dd/yyyy");
  Date exactDate = formatter.parse("07/02/2014");

documentation解释了原因。

y  Year 
Y  Week year 
D  Day in year 
d  Day in month
M  Month in year 
m  Minute in hour 

答案 1 :(得分:2)

试试这个,

DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
Date exactDate = formatter.parse("07/02/2014");

答案 2 :(得分:2)

当您打印Date对象时,您将获得该输出。尝试将Date格式化为String,以获得所需的格式和输出。

请尝试以下代码:

DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
Date exactDate = formatter.parse("07/02/2014");
String date=new SimpleDateFormat("MM/dd/yyyy").format(exactDate);

希望这有帮助。