java截取yyyy-MM-dd HH:mm:ss中的年
时间: 2024-10-03 09:03:22 浏览: 54
在Java中,如果你有一个包含日期时间格式字符串"yyyy-MM-dd HH:mm:ss"的数据,并想从中提取出年份,你可以使用`SimpleDateFormat`或`DateTimeFormatter`类配合`substring()`方法。这里是一个例子:
```java
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String datetimeStr = "2023-01-01 12:34:56"; // 示例日期字符串
// 使用SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = sdf.parse(datetimeStr);
int year = dateTime.getYear(); // 注意,getYear()返回的是从1900年开始的年份
System.out.println("年份(基于1900): " + year);
// 或者使用DateTimeFormatter
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
int yearFromFormatter = LocalDateTime.parse(datetimeStr, formatter).getYear();
System.out.println("年份(基于当前): " + (yearFromFormatter - 1970)); // 因为LocalDateTime的getYear是从公元1开始算的
}
}
```
在上述代码中,`SimpleDateFormat`的`parse()`方法将字符串转换为`LocalDateTime`对象,然后你可以直接获取年份。对于`SimpleDateFormat`,注意它的`getYear()`方法返回的是从1900年开始的年份。
如果你需要得到实际公历的年份,可以减去1900或者加上1970(因为Java `LocalDateTime`是以1970年1月1日作为时间点的起点),例如上面代码中计算公历年份的部分。
阅读全文
相关推荐


















