3

例、文字列値は次のとおりです。

15/08/2013 15:30 GMT+10:00 

15/08/2013Javaで上記の文字列を(時間部分を削除して日付のみを保持する)ようにフォーマットしたい。

このフォーマットを行うにはどうすればよいですか?

4

6 に答える 6

10

時間部分を削除し、日付のみを保持

String dateString= "15/08/2013 15:30 GMT+10:00";
String result  = dateString.split(" ")[0];

それはあなたに与える 15/08/2013

フォーマットする必要はないと思います。

于 2013-09-17T07:10:12.140 に答える
5

2018年

現在は 2018 年であり、Java 8+ (およびThreeTen Backport ) に日付/時刻 API があるため、次のようなことができます...

String text = "15/08/2013 15:30 GMT+10:00";
LocalDateTime ldt = LocalDateTime.parse(text, DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm z", Locale.ENGLISH));
System.out.println(ldt);

// In case you just want to do some "date" manipulation, without the time component
LocalDate ld = ldt.toLocalDate();
// Will produce "2013-08-15"
//String format = ldt.format(DateTimeFormatter.ISO_LOCAL_DATE);
String format = ldt.format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));
System.out.println(format);

元の回答

String1つのアプローチは、日付をDateオブジェクトに解析し、要件に従って単純にフォーマットすることです

String text = "15/08/2013 15:30 GMT+10:00";
SimpleDateFormat inFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm z");
Date date = inFormat.parse(text);
System.out.println(date);

SimpleDateFormat outFormat = new SimpleDateFormat("dd/MM/yyyy");
String formatted = outFormat.format(date);
System.out.println(formatted);

Dateこれには、他の目的で必要な場合に備えて、日付/時刻情報を保持できるという優れた利点があります ;)

詳細については、を参照SimpleDateFormatしてください

于 2013-09-17T07:17:38.400 に答える
1

これが文字列に含ま15/08/2013 15:30 GMT+10:00れているだけで、文字列の最初の 10 文字である日付部分だけが必要な場合は、最初の 10 文字を取得します。日付として解析してフォーマットする必要はありません。

String input = "15/08/2013 15:30 GMT+10:00";
String result = input.substring(0, 10);
于 2013-09-17T07:14:37.983 に答える
0

DateFormat クラスを確認してください。 http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

パーサーを使用して日付を解析し、別のパターンで目的の形式を書き出すことができるはずです

つまり、インバウンドの場合は new SimpleDateFormat("dd/MM/yyyy hh:mm z")

更新された形式の new SimpleDateFormat("dd/MM/yyyy")

于 2013-09-17T07:11:34.330 に答える
0

SimpleDateFormat クラスを使用してみてください: http://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html

于 2013-09-17T07:11:44.660 に答える
0
DateFormat formatter = new SimpleDateFormat(format);
Date date = (Date) formatter.parse(dateStr);
于 2013-09-17T07:15:41.413 に答える