错误显示日期

时间:2012-12-18 16:50:37

标签: android

我想在我的活动中获取日期并显示 我今天做了这个代码但是工作错误

    private int mYear;
        private int mMonth;
        private int mDay;
String Date
        final Calendar c = Calendar.getInstance();
                    mYear = c.get(Calendar.YEAR);
                    mMonth = c.get(Calendar.MONTH);
                    mDay = c.get(Calendar.DAY_OF_MONTH);
                    Date = mDay + "-" + mMonth + "-" + mYear;

它发送18-11-2012 这是错的 但令我困惑的是,为什么月份显示11即使月份是12 怎么了?

3 个答案:

答案 0 :(得分:0)

c.get(Calendar.MONTH);

返回月份的索引(即1月份为0)。所以没有错,那就是API ......

修改

String date = mDay + "-" + (mMonth+1) + "-" + mYear;

将正确显示日期。

请注意,Java API提供DateFormat API以各种格式显示日期(取决于用户的语言环境)。使用它通常是更好的选择。

答案 1 :(得分:0)

在Java中,mounths从0开始

答案 2 :(得分:0)

这是一种方法,使用Calendar和SimpleDateFormat可以根据需要轻松格式化输出。

    Calendar myCalendar = new GregorianCalendar();
    SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault());
    formatter.setCalendar(myCalendar);
    String dateString = formatter.format(myCalendar.getTime());

输出:
19-12-2012