Question: I'm passing "Jan", "Feb" etc... as integers to the database I need to be passing 1-12 for the corresponding months, but I'm getting 0-11 from Calendar

This is how Im doing it, please help me tweak this to get the months as 1-12 instead as 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);

```

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

```

Calendar's month is 0-indexed (Jan = 0). As odd as the above code seems, it is commonly seen in Java because of the rather odd indexing of months in Calendar.

This post has a discussion of this topic: [Why is January month 0 in Java Calendar](https://stackoverflow.com/questions/344380/why-is-january-month-0-in-java-calendar)
That's because [`Calendar`](http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html) class uses the [`Month`](http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#MONTH) indices from `[0-11]`

So, to get the indices from `[1-12]`, you can add 1 to the index obtained: -

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

```