Cómo obtener el valor datepicker en formato de fecha?

Tengo un problema con mi Datapicker

Utilizo el código para obtener la fecha, mes y año que se muestra a continuación

DatePicker datePicker; datePicker = (DatePicker) findViewById(R.id.dateselect); int day = datePicker.getDayOfMonth(); int month= datePicker.getMonth() + 1; int year = datePicker.getYear(); 

Pero cuando imprimo la fecha que muestra el valor 7 no 07 y para el mes que muestra el valor 2 no 02

Quiero estos datos enteros en un formato de fecha es decir; Por ejemplo: 02-02-2013, 24-12-2013
¿Hay alguna manera posible ????

  public String checkDigit(int number) { return number<=9?"0"+number:String.valueOf(number); } 

Uso básico:

 month=checkDigit(month); input 7 output 07 String date=checkDigit(monthOfYear+1)+"/"+checkDigit(dayOfMonth)+"/"+year; 

Puede formatear la fecha de la siguiente manera:

 int day = datePicker.getDayOfMonth(); int month= datePicker.getMonth(); int year = datePicker.getYear(); SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); String formatedDate = sdf.format(new Date(year, month, day)); 

Puede analizar el objeto String back to Date llamando al

 Date date = sdf.parse(formatedDate); 
 <?xml version="1.0" encoding="utf-8"?> 

 <Button android:id="@+id/btnChangeDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Change Date" /> <TextView android:id="@+id/lblDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Current Date (MD-YYYY): " android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/tvDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textAppearance="?android:attr/textAppearanceLarge" /> <DatePicker android:id="@+id/dpResult" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

 package com.mkyong.android; import java.util.Calendar; import android.app.Activity; import android.app.DatePickerDialog; import android.app.Dialog; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.DatePicker; impot android.widget.TextView; public class MyAndroidAppActivity extends Activity { private TextView tvDisplayDate; private DatePicker dpResult; private Button btnChangeDate; private int year; private int month; private int day; static final int DATE_DIALOG_ID = 999; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setCurrentDateOnView(); addListenerOnButton(); } // display current date public void setCurrentDateOnView() { tvDisplayDate = (TextView) findViewById(R.id.tvDate); dpResult = (DatePicker) findViewById(R.id.dpResult); final Calendar c = Calendar.getInstance(); year = c.get(Calendar.YEAR); month = c.get(Calendar.MONTH); day = c.get(Calendar.DAY_OF_MONTH); // set current date into textview tvDisplayDate.setText(new StringBuilder() // Month is 0 based, just add 1 .append(month + 1).append("-").append(day).append("-") .append(year).append(" ")); // set current date into datepicker dpResult.init(year, month, day, null); } public void addListenerOnButton() { btnChangeDate = (Button) findViewById(R.id.btnChangeDate); btnChangeDate.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { showDialog(DATE_DIALOG_ID); } }); } @Override protected Dialog onCreateDialog(int id) { switch (id) { case DATE_DIALOG_ID: // set date picker as current date return new DatePickerDialog(this, datePickerListener, year, month,day); } return null; } private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() { // when dialog box is closed, below method will be called. public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) { year = selectedYear; month = selectedMonth; day = selectedDay; // set selected date into textview tvDisplayDate.setText(new StringBuilder().append(month + 1) .append("-").append(day).append("-").append(year) .append(" ")); // set selected date into datepicker also dpResult.init(year, month, day, null); } }; 

}

A partir de API nivel 12 , DatePicker tiene public CalendarView getCalendarView () , utilizando esta vista puede obtener la fecha:

 long dateTime = datePicker.getCalendarView().getDate(); Date date = new Date(dateTime); 

Luego formatee si es necesario:

 DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy"); String formattedDate = dateFormat.format(date); 

Puede utilizar un método personalizado para establecer la fecha y el mes en el formato deseado

  private static String pad(int c) { return c>=10 ? ""+c : "0"+c; } 

En lugar de utilizar los valores de fecha y mes use pad(date) y pad(month)

Espero que esto ayude.

  • ISO 8601 con milisegundos y Retrofit
  • Cómo analizar el formato de fecha "dd-MM" para obtener el año actual? "
  • ¿Cómo obtener el primer día de la semana y mes actuales?
  • Calcular la dirección de la luz solar de acuerdo con la hora actual y la posición en la tierra
  • Mostrar selector de fechas con mes y año sólo para lollipop 5.0 en android
  • Android - Comparar dos fechas
  • Java: ¿Cómo analizar el formato de fecha para mostrar el formato de salida específico?
  • Fecha sin par: "Fri Oct 10 23:11:07 IST 2014" (al compensar 20)
  • Cómo gestionar las fechas en la base de datos sqlite de Android cuando me preocupo sólo por la fecha (que es ser único) y no el tiempo?
  • Android Days entre dos fechas
  • Comprobación de Android de la fecha cambiada
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.