Search code examples
androidandroid-datepickerandroid-timepicker

How to set the Date in the format 12 May,2014 and Time in the format 1:30 PM using Datepicker and Timepicker in Android?


I have done the following two things in my Android app. Firstly, on clicking an edittext I am opening a Datepicker. I click on a date and the date sets on the edittext in the format 12/5/2014. I want to set it in the format like 12 May,2014. how to do this. Secondly, on clicking another edittext I open a TimePicker which on click sets the time on the ediitext in the form 1:30. I want to set it like 1:30 PM. How to do this? I am posting my codes below, please guide me step by step.

DatePicker code

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();
}

private void updateLabel() {
    // TODO Auto-generated method stub
    String myFormat = "MM/dd/yy"; //In which you need put here
    SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);

    datepick.setText(sdf.format(myCalendar.getTime()));
}

   };
 datepick.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
     new DatePickerDialog(getActivity(), date, myCalendar
             .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
             myCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
   } );

TimePicker code

tasktime.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
     Calendar mcurrentTime = Calendar.getInstance();
     int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
     int minute = mcurrentTime.get(Calendar.MINUTE);

     TimePickerDialog mTimePicker;
     mTimePicker=new TimePickerDialog(getActivity(), new TimePickerDialog.OnTimeSetListener() {

        @Override
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            // TODO Auto-generated method stub
             tasktime.setText( hourOfDay + ":" + minute);
        }
    }, hour, minute, true);
     mTimePicker.setTitle("Select Time");
     mTimePicker.show();
}
  });

Solution

  • Change the format of the date from "MM/dd/yy" to "dd MMM,yyyy" and in the time use simpleDateFomate also with a format "h:mm a"