如何从DatePicker toString方法中删除日期?

时间:2015-07-18 03:48:53

标签: android date datepicker android-dateutils

我刚开始通过Android的大书呆子牧场指南学习android。我在android中编写了一个简单的程序,让用户选择一个日期。在使用getDate()。toString()方法打印日期时,我也得到了时间。我想删除那个时间列。到目前为止,我已尝试通过intent传回datePicker,日期,月份或年份,但它无效。 这就是我的DatePicker代码:

public Dialog onCreateDialog(Bundle savedInstanceState)
    {
       // super.onCreate(savedInstanceState);
        date=(Date) getArguments().getSerializable(Extra_Tag);
        Calendar calendar=Calendar.getInstance();
        calendar.setTime(date);
        int year=calendar.get(Calendar.YEAR);
        int month=calendar.get(Calendar.MONTH);
        int day=calendar.get(Calendar.DAY_OF_MONTH);

        View view=getActivity().getLayoutInflater().inflate(R.layout.date_picker, null);
         DatePicker datePicker= (DatePicker) view.findViewById(R.id.date_button);
        datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() {
            @Override
            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                date=new GregorianCalendar(year,monthOfYear,dayOfMonth).getTime();
                getArguments().putSerializable(Extra_Tag,date);
            }
        });
        return new AlertDialog.Builder(getActivity()).setView(view).setTitle(R.string.date_picker).setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                sendResult(Activity.RESULT_OK);
            }
        }).create();
    }
    private void sendResult(int resultCode)
    {
        if(getTargetFragment()==null)
        {
            return;
        }
        Intent i=new Intent();
        i.putExtra(Extra_Tag,date);
        getTargetFragment().onActivityResult(getTargetRequestCode(),resultCode,i);

    }

以下是调用活动:

public void onActivityResult(int requestCode, int resultCode,Intent data)
{
    if(resultCode!= Activity.RESULT_OK)
        return;
    if(requestCode==Request_code)
    {
        Date date=(Date) data.getSerializableExtra(Extra_Tag);
        crime.setDate(date);
        dateButton.setText(crime.getDate().toString());
    }
}

对于实例,这是样本输出看起来像2015年5月17日22:46:42 CDT。我的动机是通过删除时间来显示日期。 请详细解释。谢谢

2 个答案:

答案 0 :(得分:0)

您只需两行

即可转换日期

例如

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
// Set your date format
String currentData = sdf.format(date);

答案 1 :(得分:0)

尝试使用

 Calendar c = Calendar.getInstance();
 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 String todayDate = df.format(c.getTime());