Java 如何以某种格式删除字符串的一部分

Java 如何以某种格式删除字符串的一部分,java,datetime-format,Java,Datetime Format,我正在从服务器上以这种格式获取时间和日期2012-03-14 12:33:30.000。我想删除时间部分,只保留日期部分,如2012-03-14 我得到了这种格式的所有输出,我想知道如何删除所有的时间部分。任何帮助都将不胜感激。实现这一目标的方法之一就是这样 str = str.substring(10); SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); Date date = fmt.parse(yourString);/

我正在从服务器上以这种格式获取时间和日期2012-03-14 12:33:30.000。我想删除时间部分,只保留日期部分,如2012-03-14


我得到了这种格式的所有输出,我想知道如何删除所有的时间部分。任何帮助都将不胜感激。

实现这一目标的方法之一就是这样

str = str.substring(10);
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Date date = fmt.parse(yourString);//yourString is your String variable
date.toString();//or whatever
另一种方式是这样的

str = str.substring(10);
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Date date = fmt.parse(yourString);//yourString is your String variable
date.toString();//or whatever

使用拆分方法,例如:

如果您的日期为2012-03-14 12:33:30.000,您可以

String text[] = date.split(' ') - (with a space in between
 '') and get de text[0] 

首先将日期字符串解析为包含日期和时间的Java date对象,然后从该日期对象获取日期。

如果您想使用Java time,可以使用相关格式解析源代码,然后重新格式化以满足您的需要:

String str = "2012-03-14 12:33:30.000";

DateTimeFormatter sourceFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
DateTimeFormatter targetFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

LocalDateTime dateTime = LocalDateTime.parse(str, sourceFormatter);

System.out.println(targetFormatter.format(dateTime));

如何在java中修改字符串?从这个开始,你会找到你的答案。str=str.substring0,10;你是如何获得这些时间数据的?你的目标是什么?这是一个非常有效的方法@Deadpool。正如你从答案中看到的,还有其他的。你的意思是str=str.substring0,10;我想删除时间部分,只保留日期部分。此外,如果您推荐日期/时间类,考虑和不使用日期。您也可以格式化它,也检查更新后的答案。请不要推荐使用非常过时的SimuleDead格式。改用DateTimeFormatter。我同意为任务使用标准日期时间类是个好主意。然而,请不要教年轻人使用过时的、臭名昭著的、麻烦的SimpleDateFormat类。至少不是第一个选择。而且不是毫无保留的。今天我们有了更好的in和它的DateTimeFormatter。这是一个好主意,但描述模糊。其他一些答案在某种程度上更加精确,我同意这是最好、最好的方法。更好的是,使用DateTimeFormatter.ISO_LOCAL_DATE作为第二个格式化程序。格式已经为我们定义好了,所以不需要在这里重新设计。java.time.format.DateTimeFormatterofPattern需要API级别26 Oreo,它只占设备的5.7%。@Yousufshail听起来像是在谈论Android?我在问题中没有看到提到安卓。2如果你想在非全新的Android上使用这个答案,可以使用ThreeTenABP库,它会很好地工作。请看。您使用的是什么语言和库?问题被标记为java。语言是java,库是DateDate。感谢您的回答。没有关于这个问题的方法getFullYear、getFullMonth或split。你的答案行不通。