需要得到字符串月作为int

我传递“1月”,“2月”等...作为整数数据库我需要通过1-12相应的月份,但我得到0从-11日历需要得到字符串月作为int

这是林怎么做,请帮我捏捏这得到个月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索引(一月= 0)。就像上面的代码看起来那么奇怪,它在Java中很常见,因为Calendar中的月份索引相当奇怪。

这个帖子有这个话题的讨论:Why is January month 0 in Java Calendar

回答:

这是因为Calendar类从[0-11]使用Month指数

因此,要从[1-12]获得索引,您可以加1所获得的索引: -

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

回答:

要么改变:

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

System.out.println("month ==" + (month) + 1) ; 

(但不要做他们两个!)

这会在您的month的所代表的位置上添加1的“偏移量”,因此将它从0-11移到1-12 =)

以上是 需要得到字符串月作为int 的全部内容, 来源链接: utcz.com/qa/266938.html

回到顶部