java - 需要将 String month 作为 int 获取

标签 java

我将“Jan”、“Feb”等作为整数传递给数据库,我需要为相应的月份传递 1-12,但我从日历中得到 0-11

我就是这样做的,请帮我调整一下,让月份为 1-12 而不是 0-11

//Get month as an integer.
Date date = new SimpleDateFormat("MMM", Locale.ENGLISH).parse(stringMonth);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int month = cal.get(Calendar.MONTH);
System.out.println("month ==" + month);

最佳答案

  int month = cal.get(Calendar.MONTH) + 1;

日历的月份是 0 索引的(Jan = 0)。尽管上面的代码看起来很奇怪,但它在 Java 中很常见,因为日历中月份的索引相当奇怪。

这篇文章对此主题进行了讨论:Why is January month 0 in Java Calendar

关于java - 需要将 String month 作为 int 获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13089317/

相关文章:

java - Java 中可以使用可变参数泛型吗?

java - java中可以通过反射设置字段的 transient 属性/标志吗?

java - 如何使用接口(interface)作为 map 的值?

java - 如何在 spring 3 方法执行后强制 @Cacheable 工作?

java - 我可以使用 IntelliJ IDEA 将多个 WAR 存档文件部署到本地 Tomcat 吗?

java - 使用 byte-buddy 从头开始​​创建一个类及其方法

用于类型别名的 Java 注释处理器

java - 使用 Google Calendar API 和服务帐户创建 Activity

java - 为什么我的服务不能在 Android Pie 上运行

java - 如何使用不同的资源文件夹配置 Maven 配置文件?