如何以编程方式更改 android 中事件的当前日期和时间?

How do i programatically change the Current date and time of an event in android?

我正在尝试以编程方式将活动添加到我在 Android 中的日历中,我正在选择 日期开始日期结束日期时间

我正在尝试将其发送到日历,但出于某种原因,无论我发送什么,它都只显示当前日期。

我知道我们只需要在 毫秒 内发送,但我应该如何为以后的日期设置事件?

这是我的代码

final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {

            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear,
                                  int dayOfMonth) {
                // TODO Auto-generated method stub
                myCalendar.set(Calendar.YEAR, year);
                myCalendar.set(Calendar.MONTH, monthOfYear);
                myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                updateLabel();
            }

        };

     edittext.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                new DatePickerDialog(DetailsActivity.this, date, myCalendar
                        .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                        myCalendar.get(Calendar.DAY_OF_MONTH)).show();
            }
        });
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                readCalendar();
            }
        });
    }
    private void readCalendar() {

        Intent intent = new Intent(Intent.ACTION_INSERT);
        intent.setData(CalendarContract.Events.CONTENT_URI);

        Calendar cal = Calendar.getInstance();
        edittext.setSelected(true);
        long startTime = cal.getTimeInMillis()+24*60*60*1000;
        long endTime = startTime+ 60 * 30 * 1000;

        intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, startTime);
        intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime);
        intent.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, false);

        intent.putExtra(CalendarContract.Events.TITLE, "DOCTOR APPOINTMENT");

        startActivity(intent);
    }

    private void updateLabel() {
        String myFormat = "MM/dd/yy";
        SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
        edittext.setText(sdf.format(myCalendar.getTime()));
    }

您想根据用户选择的日期设置日历事件,因此您需要使用 myCalender 实例来获取 startTime

long startTime = myCalendar.getTime()+24*60*60*1000;
        long endTime = startTime+ 60 * 30 * 1000;

下行创建当前日期时间的日历实例。因此 删除 它。

 Calendar cal = Calendar.getInstance();