Android getDate返回错误的日期

时间:2016-03-01 16:44:06

标签: android calendar

我有一个Android应用程序,我在安卓M中遇到了来自Android的CalendarView的getDate()方法的问题。我已经在6.0中测试了它,它就像一个魅力。

问题是:当用户在我的日历中选择一个日期时,它仅在今天返回。

这是我的代码:

CalendarView calendarView = (CalendarView) findViewById(R.id.input_commitmentAdd_date);
commitmentItem.date = new SimpleDateFormat("yyyy-MM-dd").format(new Date(calendarView.getDate()));

我的日历视图:

    <CalendarView
    android:id="@+id/input_commitmentAdd_date"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:layout_marginLeft="@dimen/form_margin"
    android:layout_marginRight="@dimen/form_margin"
    android:layout_marginTop="@dimen/form_spacing" />

谢谢你们,伙计们!

2 个答案:

答案 0 :(得分:3)

我已经弄明白了。为了解决这个问题,我刚刚更改了它:

CalendarView calendarView=(CalendarView)findViewById(R.id.input_commitmentAdd_date);
commitmentItem.date = new SimpleDateFormat("yyyy-MM-dd").format(new Date(calendarView.getDate()));

要:

  calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {

        @Override
        public void onSelectedDayChange(CalendarView view, int year, int month,
                                        int dayOfMonth) {
            int correctMonth = month + 1;
            date = String.valueOf(year + "-" + correctMonth + "-" + dayOfMonth);
        }
    });

答案 1 :(得分:-1)

json