在Java中将日期格式从“29/05/2011 00:00:00 ZE8”转换为“2011年5月28日星期六”

时间:2011-06-01 15:56:56

标签: java

我正在努力将我的字符串“29/05/2011 00:00:00 ZE8”转换为Java中“2011年5月28日星期六”的以下格式。

这是我的代码的摘要。它似乎有效,但我在智利的同事在运行代码时获得了将来2年的日期。

SimpleDateFormat df2 = new SimpleDateFormat("EEE, dd MMM yyyy");
Date etdDate = df2.parse(OCD_ETD_String);
String OCD_ETD_StringFormatted = dateFormat.format(etdDate);  

希望有人能说清楚。

最好的问候

1 个答案:

答案 0 :(得分:4)

您需要两种不同的日期格式字符串,一种用于“传入”格式,另一种用于“传出”格式。然后用一个解析并用另一个格式化。像

SimpleDateFormat in=new SimpleDateFormat("dd/MM/yyyy HH:mm:ss zzz");
SimpleDateFormat out=new SimpleDateFormat("EEE dd MMM yyyy");
Date somedate=in.parse(dateFormatIn);
String dateFormatOut=out.format(somedate);

在您的示例中,您尝试使用所需的输出格式进行解析。这不起作用:如果已经采用该格式,则不需要执行任何操作。

相关问题