首页 > 解决方案 > 在 android studio 中将字符串月份转换为整数,也就是可能为 5

问题描述

如何简单地将包含一个月变量的字符串转换为整数值?

我可以做类似下面的事情,但似乎应该有更有效的方法来做到这一点。


int month_int;
        switch (month) {//3 letter string input
            case "Jan":  month_int= 1; break;
            case "Feb":  month_int= 2; break;
            case "Mar":  month_int= 3; break;
            case "Apr":  month_int= 4; break;
            case "May":  month_int= 5; break;
            case "Jun":  month_int= 6; break;
            case "Jul":  month_int= 7; break;
            case "Sep":  month_int= 9; break;
            case "Oct":  month_int= 10;break;
            case "Nov":  month_int= 11;break;
            case "Dec":  month_int= 12;break;
            default:   month_int= 0; break;//Error
        }
        return month_int;

我的输入是一个三个字母的字符串,我需要将其转换为 int。又名 1-12。

标签: java

解决方案


鉴于传入的格式是ISO MMM,请继续使用

private static final DateTimeFormatter MONTH_FORMAT = DateTimeFormatter.ofPattern("MMM", Locale.ENGLISH); // supports Jan, Feb etc
MONTH_FORMAT.parse("Feb").get(ChronoField.MONTH_OF_YEAR); // 2
Month month = Month.from(MONTH_FORMAT.parse("Feb")); // java.time.Month.FEBRUARY

获取月份编号 (2) 很容易,但获取Month枚举可能更好,因为这会鼓励您继续使用 java.time API 解决日历问题!


推荐阅读