java - 在 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。
解决方案
鉴于传入的格式是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 解决日历问题!
推荐阅读
- python - Python setup.py install 指定 extras_require
- recompose - 使用 withStateHandler 和 withState + withHandler 的区别
- azure-api-management - Azure API 管理 - 我可以定义自定义响应状态代码吗?
- opencart - 结帐卡在“请稍候”
- reactjs - React-Leaflet: 'Invalid LatLng object' on running test when using boundsOptions
- node.js - 由于 zone.js,Angular7 在 Google Page Speed 上的性能下降
- wordpress - 如何仅在 AMP 版本上继续导航?
- azure-devops - 如何在 Azure-Dev Ops 和 microstrategy 之间建立联系?
- javascript - 使用 GitHub API 调用“config”包时,我得到一个“githubClientID”未定义
- c++ - std::getline 读取最后一个字符串两次