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

日付をフォーマッタに渡す必要があります。これを行う1つの方法は次のとおりです。

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

日付のように -d "Fri Apr 1" +%D Java のみ?

于 2016-04-01T10:04:31.990 に答える