Java 如何从android日历中获取日期?

Java 如何从android日历中获取日期?,java,android,date,calendar,Java,Android,Date,Calendar,请帮我从日历中获取日期。这个想法是用户必须选择日期。之后,日期返回到主活动。 我试着这样做: Calendar today = Calendar.getInstance(); Uri uriCalendar = Uri.parse("content://com.android.calendar/time/" + String.valueOf(today.getTimeInMillis())); Intent intentCalendar = new Intent(Intent.ACTION_D

请帮我从日历中获取日期。这个想法是用户必须选择日期。之后,日期返回到主活动。 我试着这样做:

Calendar today = Calendar.getInstance();

Uri uriCalendar = Uri.parse("content://com.android.calendar/time/" + String.valueOf(today.getTimeInMillis()));
Intent intentCalendar = new Intent(Intent.ACTION_DATE_CHANGED,uriCalendar);            
startActivity(intentCalendar);

但它只打开日历,我不能选择日期。谢谢=)

试试这个。不过,它不是传统的日历。

我正在使用它,它对我来说很有用 另外一个提示,对于复杂的日期操作,我更喜欢Joda时间而不是日历。我真的推荐它

  change_date_but = (Button) findViewById(R.id.c_change_button_id);
    change_date_but.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // DatePickerDialog DPD = new DatePickerDialog(this,
            // mDatesetlistener, mYear, mMonth, mDay);
            DatePickerDialog DPD = new DatePickerDialog(
                    AddEditChildren.this, mDateSetListener, mYear, mMonth,
                    mDay);
                DPD.show();

        }
    });

    private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
    public void onDateSet(DatePicker view, int year, int monthOfYear,
            int dayOfMonth) {
        mYear = year;
        mMonth = monthOfYear;
        mDay = dayOfMonth;
        updateDisplay();
    }
};
//我用它来显示一个好的日期格式

private void updateDisplay() {
    // TODO Auto-generated method stub
    if(mMonth+1<10 && mDay >10)
        date.setText(new StringBuilder()
        .append(mYear).append("-").append("0").append(mMonth + 1).append("-").append(mDay));
    else if(mMonth+1>10 && mDay<10)
        date.setText(new StringBuilder()
        // Month is 0 based so add 1
        .append(mYear).append("-").append(mMonth + 1).append("-").append("0").append(mDay));

    else if(mMonth+1<10 && mDay<10)
        date.setText(new StringBuilder()
        // Month is 0 based so add 1
        .append(mYear).append("-").append("0").append(mMonth + 1).append("-").append("0").append(mDay));
    else
        date.setText(new StringBuilder()
            // Month is 0 based so add 1
        .append(mYear).append("-").append(mMonth + 1).append("-").append(mDay));
}
private void updateDisplay(){
//TODO自动生成的方法存根
如果(mm+110)
date.setText(新的StringBuilder()
.append(mYear.append(“-”).append(“0”).append(mMonth+1.append(“-”).append(mDay));

否则,如果(mMonth+1>10&&mday)您有捕获用户选择的代码吗?没有。我怎么做?看看这个:它不是真正的日历,但您可以选择一个日期。另外,请参见以下内容:非常感谢!!!这就是我需要的!=)您不需要在每个分支中都使用StringBuilder。只需使用“+”连接即可.编译器将进行优化,可读性会更好。