Android:日历不提供全年编号,只提供111而不是2011年

Shr*_*jan 1 time android emulation android-emulator

我使用以下代码获取当前设备时间的年份:

Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.getTime().getYear();
Run Code Online (Sandbox Code Playgroud)

但随着时间的推移,我将获得111而不是2011年.

如果我将2012年定为当年,那么它给我112而不是2012.

为什么会这样?请帮助我.谢谢.

Kar*_*hik 5

得到年()返回年份自1900年以来所以,你必须使用

cal.getTime().getYear() + 1900
Run Code Online (Sandbox Code Playgroud)

编辑

Date.getYear()已被弃用.所以你可以cal.get(Calendar.YEAR)用来获得年份字段.请参见Date.getYear()Calendar.get()