将EEE MMM dd HH:mm:ss ZZZ yyyy转换为yyyy mm dd JAVA

将EEE MMM dd HH:mm:ss ZZZ yyyy转换为yyyy mm dd JAVA,java,date,format,Java,Date,Format,我想使用JAVA将:Thu Feb 02 00:00:00 WET 2012转换为02/02/2012(日期类型不是字符串) 是的 String date = "Thu Feb 02 00:00:00 WET 2012"; SimpleDateFormat formatnow = new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZ yyyy", Locale.ENGLISH); SimpleDateFormat formatneeded=new Simp

我想使用JAVA将:
Thu Feb 02 00:00:00 WET 2012
转换为
02/02/2012
(日期类型不是字符串)

是的

String date = "Thu Feb 02 00:00:00 WET 2012";
SimpleDateFormat formatnow = new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZ yyyy", Locale.ENGLISH); 
SimpleDateFormat formatneeded=new SimpleDateFormat("YYYY-MM-dd");
Date date1 = formatnow.parse(date);
String date2 = formatneeded.format(date1);
Date date3= formatneeded.parse(date2);
System.out.println(date3);
我现在有:
星期四2012年2月2日00:00:00潮湿

谁能告诉我问题出在哪里

日期对象不包含有关所需显示格式的任何信息。因此,从格式化的日期字符串解析日期不会“记住”任何格式

println(date3)将使用java的toString方法打印date3的值


在date2中有格式化的日期字符串。所以System.out.println(date2)应该为您提供正确的值。

什么是
System.out.println(date2)给你?它给我:Thu Feb 02 00:00:00 WET 2012 Sorry date 2给我:2012-02-02但我不想将日期类型作为字符串类型存储在数据库中日期没有任何相关格式,因此只需将
日期1
存储在数据库中。日期使用
toString
方法表示其值,这个方法将返回您认为是输出的格式。这就是为什么SimpleDateFormat类在哪里,它允许您生成具有所需格式的
字符串。