java中12-四月-2024 字符串截取年和月
时间: 2024-09-26 18:10:43 浏览: 63
在Java中,如果你想从给定的日期字符串 "12-四月-2024" 中截取出年份和月份,由于Java的内置Date类和相关API并不直接支持中文月份表示,你需要先手动将其转换成标准的月份表示(如"Apr")。以下是一个例子:
```java
import java.text.SimpleDateFormat;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
String dateStr = "12-四月-2024";
// 将中文月份转换为英文
String monthInEng = convertChineseMonthToEnglish("四月");
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMMM-yyyy", Locale.CHINA);
try {
Date date = formatter.parse(dateStr.replace("四月", monthInEng));
int year = date.getYear() + 1900; // Java的Date类返回的是公元年的年份
String yearStr = String.valueOf(year);
System.out.println("年份: " + yearStr);
System.out.println("月份: " + monthInEng);
} catch (ParseException e) {
e.printStackTrace();
}
}
// 示例:将中文月份转换为英文
private static String convertChineseMonthToEnglish(String chineseMonth) {
switch (chineseMonth) {
case "一月":
return "Jan";
case "二月":
return "Feb";
// 添加其他月份的对应翻译...
default:
throw new IllegalArgumentException("未知的月份:" + chineseMonth);
}
}
}
```
在这个例子中,`convertChineseMonthToEnglish`函数用于翻译月份,然后通过`SimpleDateFormat`解析字符串。
阅读全文