非常具体,我有一个任何格式的日期字符串,我想将它转换为字符串为“20121112”任何帮助请。我知道这可以通过SimpleDateFormatter完成。
答案 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?