java截取字符串yyyy-mm-dd的年月部分
时间: 2024-10-13 07:19:16 浏览: 126
sukkiri-Java-v3-chap15
在Java中,如果你有一个形如"yyyy-MM-dd"的日期字符串,比如"2023-05-27",并想要提取出年份和月份的部分,你可以使用`SimpleDateFormat`或者`DateTimeFormatter`来解析然后提取。
以下是使用`SimpleDateFormat`的例子:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
String dateStr = "2023-05-27";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
sdf.setLenient(false); // 关闭宽容模式,防止解析异常
try {
String yearMonth = sdf.format(new Date(dateStr));
System.out.println("Year and Month: " + yearMonth); // 输出 "2023-05"
} catch (Exception e) {
e.printStackTrace();
}
```
如果你在Java 8及以上版本,可以使用`DateTimeFormatter`:
```java
import java.time.format.DateTimeFormatter;
String dateStr = "2023-05-27";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
String yearMonth = dateStr.substring(0, 7); // 直接截取前7个字符
System.out.println("Year and Month: " + yearMonth); // 输出 "2023-05"
```
在这个例子中,我们只是简单地截取了字符串的前7个字符作为年月部分。`DateTimeFormatter`方法更为精确,能处理各种语言和格式的日期。
阅读全文