直接进入正题吧。假设今天的日期是 2015 年 6 月 16 日,设备日期与此匹配。我正在尝试以这种格式读取它,16062015。但是,日期显示为晚一个月,即 16052015。我的代码:
public String getDate() {
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DAY_OF_MONTH);
int month = cal.get(Calendar.MONTH);
int year = cal.get(Calendar.YEAR);
String dayString = String.valueOf(day);
String monthString = String.valueOf(month);
String yearString = String.valueOf(year);
String date = dayString + "0" + monthString + yearString;
return date;
}
可能是什么问题?
这是在 J2ME 中。设备:诺基亚 206。
最佳答案
int month = cal.get(Calendar.MONTH);
一月返回 0,二月返回 1,...这就是您的代码如此运行的原因。所以一个简单的解决方法是:
int month = cal.get(Calendar.MONTH) + 1;
顺便说一句:在 10 月、11 月和 12 月,您会遇到一个额外的问题。 (提示:它们有 2 位数字。)
关于java - J2ME 中的日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30871461/