将任何日期字符串转换为特定日期格式字符串

时间:2012-12-06 09:10:26

标签: java date simpledateformat

非常具体,我有一个任何格式的日期字符串,我想将它转换为字符串为“20121112”任何帮助请。我知道这可以通过SimpleDateFormatter完成。

6 个答案:

答案 0 :(得分:7)

这里没有魔法可以申请。首先,你需要弄清楚日期格式是什么,然后你需要转换它。例如,是1903年2月1日或2003年2月1日的01/02/03,或者是2003年1月2日,或2001年2月3日。你决定。 ;)

答案 1 :(得分:6)

像这样......

SimpleDateFormat source = new SimpleDateFormat("dd/MM/YYYY");  // British format
SimpleDateFormat target = new SimpleDateFormat("YYYYMMdd");

String oldDate = "06/12/2012";
String newDate = target.format(source.parse(oldDate));

答案 2 :(得分:1)

无法完成,因为您必须指定日,月的顺序。

罗马尼亚日期字符串:“30.01.2013” 保加利亚日期字符串:“2013.01.30” 美国日期字符串:“01.30.2013”​​

你希望从任何格式“认出”......

至少必须知道格式,不再是任何格式

答案 3 :(得分:0)

您需要将日期传递给格式化程序。一种方法是这样的:

Date date = new Date(System.currentTimeMillis());
FastDateFormat dateFormatter = FastDateFormat.getInstance("yyyyMMdd");
System.out.println(dateFormatter.format(date));

答案 4 :(得分:0)

如果你知道日期格式(即mm / dd或dd / mm),那么类似的东西会起作用:

// my date in String format in yyyy/mm/dd
String myDate = "20121206";

Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); // format
cal.setTime(sdf.parse(myDate));

这会将您的字符串转换为Calendar,不推荐使用Date#parse

答案 5 :(得分:-1)

喜欢日期-d“Fri Apr 1”+%D 仅适用于java?