如何简单地将包含一个月变量的字符串转换为整数值?
我可以做下面的事情,但似乎应该有一个更有效的方法。
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。
鉴于传入格式为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解决日历问题!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句