为什么在使用java日历解析时出错了月份 [英] why do I get wrong month when parsing with java calendar

查看:187
本文介绍了为什么在使用java日历解析时出错了月份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Date fakeDate = sdf.parse("15/07/2013 11:00 AM");
Calendar calendar = Calendar.getInstance()
calendar.setTime(fakeDate);
int currentMonth = calendar.get(Calendar.MONTH);

我得到currentMonth == 6而不是7。

I get currentMonth == 6 instead of 7.

为什么会这样?

推荐答案

因为 Calendar.MONTH 是基于ZERO。 为什么

Because Calendar.MONTH is ZERO based. Why?

检查 docs :(总是)


get和set的字段编号,表示月份。这是一个
特定于日历的值。 格里高利
和Julian日历中的第一个月是1月1日
;最后一个取决于一年中
的月数。

Field number for get and set indicating the month. This is a calendar-specific value. The first month of the year in the Gregorian and Julian calendars is JANUARY which is 0; the last depends on the number of months in a year.

这篇关于为什么在使用java日历解析时出错了月份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆