1

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

4

6 回答 6

7

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

于 2012-12-06T09:13:38.163 回答
7

像这样的东西...

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));
于 2012-12-06T09:13:47.670 回答
1

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

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

而且您想从任何格式“识别”...

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

于 2012-12-06T09:16:20.347 回答
0

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

Date date = new Date(System.currentTimeMillis());
FastDateFormat dateFormatter = FastDateFormat.getInstance("yyyyMMdd");
System.out.println(dateFormatter.format(date));
于 2012-12-06T09:14:59.620 回答
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已弃用。

于 2012-12-06T09:16:21.920 回答
-1

像 date -d "Fri Apr 1" +%D 仅适用于 java 吗?

于 2016-04-01T10:04:31.990 回答