java - J2ME 中的日期问题

标签 java java-me

直接进入正题吧。假设今天的日期是 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/

相关文章:

java - J2ME 中的认证错误

java - 在 Play 框架中将 Promise 列表转换为 List 的 Promise

java - MATLAB 代理无法在 180000 毫秒内创建

java - JAVA检查url是否存在

java - 等待对象在 CORBA 命名服务中绑定(bind)

java - 将字符串解析为列表时出错

java - 天气应用程序 : J2me constructor

java - 在不使用推荐的 IDE(即 Eclipse)的情况下启动 Blackberry Java 项目是否合理?

java - 使用 Spring 批处理处理大文件的最佳方法

java - 从 Android 的角度看 J2ME 中的 CLDC 和 CDC