【发布时间】:2018-06-07 20:31:03
【问题描述】:
我正在使用这种方法将时间设置为日历,但是当我想要获取月份时,它会给我第 1 个月。
例如当我设置“2017-12-27 10:50:00”时。当我想得到日历的月份时,它是 11 而不是 12。
public String setDate(String gDate){
try {
private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(gDate);
javaCalendar.setTime(date);
} catch (ParseException e) {
e.printStackTrace();
Log.i("LOG_DATE", "Error is: " + e.toString());
}
return "";
}
【问题讨论】:
-
从0开始,从0到11。
-
分享您的代码以获取日历月
-
即使在 Android 上,也可以考虑删除旧类
Date、Calendar和SimpleDateFormat,并使用现代 Java 日期和时间 API JSR-310 中的LocalDateTime和DateTimeFormatter。与它一起工作要好得多。并且会给你第 12 个月作为Month.DECEMBER或 12,你可以选择。要在 Android 上使用 JSR-310,请将 ThreeTenABP 添加到您的项目中。
标签: java android date android-calendar java.util.calendar