3

例如,字符串值为:

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

我想15/08/2013在Java中将上面的字符串格式化为(删除时间部分并只保留日期)。

我该怎么做这种格式?

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);

原始答案

一种方法是将String日期解析为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 formatter = new SimpleDateFormat(format);
Date date = (Date) formatter.parse(dateStr);
于 2013-09-17T07:15:41.413 回答
0

Check out the DateFormat class, http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

You should be able to parse in the date using a parser and then write out your desired format in another pattern

i.e. new SimpleDateFormat("dd/MM/yyyy hh:mm z") for inbound

new SimpleDateFormat("dd/MM/yyyy") for your updated format

于 2013-09-17T07:11:34.330 回答
0

Try using the SimpleDateFormat class: http://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html

于 2013-09-17T07:11:44.660 回答