getdate de datepicker android

Quiero llegar a la fecha de widget datepicker en android he probado con este

Date date1= (Date) new Date
   (dpBirthDate.getYear(), dpBirthDate.getMonth(), dpBirthDate.getDayOfMonth());
date1  = (Date) new SimpleDateFormat("yyyy-MM-dd").parse(date1.toString());

Pero me da una fecha como esta mon 7 dec 2011 time … y todo lo que quiero conseguir es el yyyy-MM-dd formato para almacenarla en la base de datos.

He intentado también a concat la año-mes-día como este, pero el problema es, por ejemplo, el día de hoy
2011-12-7 el día debe ser de 07 a ser válido

Me podrían ayudar por favor.

  • Wow, srsly DatePicker no tiene un método getDate??? Android/Google cmon.
InformationsquelleAutor Aymen Taarit | 2011-12-07

3 Kommentare

  1. 68

    Yo uso este:

        /**
     * 
     * @param datePicker
     * @return a java.util.Date
     */
    public static java.util.Date getDateFromDatePicker(DatePicker datePicker){
        int day = datePicker.getDayOfMonth();
        int month = datePicker.getMonth();
        int year =  datePicker.getYear();
    
        Calendar calendar = Calendar.getInstance();
        calendar.set(year, month, day);
    
        return calendar.getTime();
    }
    • Esto en gran medida trabajado para mí, excepto que sea necesario para definir el selector de fechas como de android.widget.Selector de fecha en su lugar. Gracias 🙂
    • Si usted está usando Kotlin, se puede hacer incluso en una forma más elegante camino.
  2. 13

    Debe utilizar SimpleDateFormat.formato para convertir ese Date objeto a un String, como este

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String dateString = sdf.format(date1);

    Creo que sólo lo tenía al revés. Usted necesidad de utilizar format a ir a partir de la Fecha de la Cadena, y parse para ir de una Cadena a una Fecha.

    • cambiado el código de esta Fecha fecha1= (Fecha) nueva Fecha(dpBirthDate.getYear(), dpBirthDate.método getmonth(), dpBirthDate.getDayOfMonth()); fechas =new SimpleDateFormat(«yyyy-MM-dd»).formato(fecha1); y lo que tengo 3911-12-07 qué hay de malo
    • Bien, a continuación, comprobar en qué año de la Fecha en que el objeto es antes de pasar en
    • ¿cómo puedo arreglar el formato de Fecha por favor ayuda ! Siempre me sale la fecha de los estratos con 3911
    • A continuación, se crea el objeto Date incorrectamente. Como ya he dicho, usted debe depurar lo que el valor que realmente es. Si usted mira la documentación de Date usted puede ver que el año pasa debe ser «el año de menos de 1900», por lo que es probablemente su error. Java Date objeto tiene que ser manejado con cuidado.
    • gracias ahora es claro que debo hacer 3911 -1900 para el año 2011
  3. 2

    Sé que esto es viejo, pero me costó mucho encontrarlo. Así para la posteridad

    Escenario: Un punto de Vista de las necesidades de la fecha en formato yyyy-mm-dd

        date_field = (EditText)findViewById(R.id.input_date);
            date_field.setFocusable(false); //disable editing of this field
            date_field.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(final View v) {
                    chooseDate();
                }
            });
    
     private void chooseDate() {
            final Calendar calendar = Calendar.getInstance();
            final int year = calendar.get(Calendar.YEAR);
            final int month = calendar.get(Calendar.MONTH);
            final int day = calendar.get(Calendar.DAY_OF_MONTH);
            DatePickerDialog datePicker =
                new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(final DatePicker view, final int year, final int month,
                                          final int dayOfMonth) {
    
                        @SuppressLint("SimpleDateFormat")
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                        calendar.set(year, month, dayOfMonth);
                        String dateString = sdf.format(calendar.getTime());
    
                        date_field.setText(dateString); //set the date
                    }
                }, year, month, day); //set date picker to current date
    
            datePicker.show();
    
            datePicker.setOnCancelListener(new DialogInterface.OnCancelListener() {
                @Override
                public void onCancel(final DialogInterface dialog) {
                    dialog.dismiss();
                }
            });
        }

    La esperanza de que esto ayude a alguien

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea