Casting und bekommen Werte aus Datum Picker und Zeit Picker in Android

Ich habe einen DatePicker und einen TimePicker in meiner App. Kann mir jemand sagen, wie man die Werte des Datums und der Zeit, die ausgewählt werden? Was ich sagen EditText ist, für EditText wir als deklarieren

 final EditText name = (EditText) this.findViewById(R.id.nametext); 

Und wir können die Daten davon mit name.getText().toString() .

Also, wie können wir die Werte von DatePicker und TimePicker zu einem String bekommen?

  • DatePicker zeigt falschen Wert des Monats an
  • HTML5 Date Picker öffnet sich nur beim 2. Klick
  • BetterPickers ohne Support-Bibliothek
  • Android 5.0 Datepicker in scrollview nicht funktioniert (nicht blättern Monate)
  • Jelly Bean DatePickerDialog - gibt es eine Möglichkeit zu stornieren?
  • Android: Verwenden Sie einen datepicker und timepicker aus einem Dialog
  • Android, gibt es irgendeine Möglichkeit, das Schreiben in einem Datumsauswahl mit der Tastatur zu deaktivieren?
  • So zeigen Sie das ausgewählte Datum in EditText mit DialogFragment an
  • 9 Solutions collect form web for “Casting und bekommen Werte aus Datum Picker und Zeit Picker in Android”

    DatePicker hat

     getYear() getMonth() getDayOfMonth() 

    Um ein Date-Objekt aus einem DatePicker zu machen, das du new Date(datePicker.getYear() - 1900, datePicker.getMonth(), datePicker.getDayOfMonth()); gemacht hast new Date(datePicker.getYear() - 1900, datePicker.getMonth(), datePicker.getDayOfMonth());

    Beachten Sie, dass dieser Konstruktor in API Level 1 abgelehnt wurde – beziehen Sie sich bitte auf andrescanavesis Antwort für eine angemessenere Möglichkeit, ein Date-Objekt zu erstellen.

    TimePicker hat

     getCurrentHour() getCurrentMinute() 

    Ich benutze das:

      /** * * @param datePicker * @return a java.util.Date */ public static java.util.Date getDateFromDatePicket(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(); } 
     date=(EditText)findViewById(R.id.date_of_birth_textfield); date.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub showDialog(DATE_DIALOG_ID); } }); mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); updateDisplay(); protected Dialog onCreateDialog(int id) { switch(id) { case DATE_DIALOG_ID: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); } return null } private DatePickerDialog.OnDateSetListener mDateSetListener= new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub System.out.println("calendar view shown.."+view.getCalendarViewShown()); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, monthOfYear); c.set(Calendar.DAY_OF_MONTH, dayOfMonth); mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); updateDisplay(); // mMonth = monthOfYear; // mDay = dayOfMonth; } }; private void updateDisplay() { date.setText( new StringBuilder() // Month is 0 `based` so add 1 .append(mYear).append("-").append(mMonth + 1).append("-").append(mDay).append("")); //date.setText(fmtDateAndTime.format(c.getTime())); } 

    Ich würde vorschlagen, die DateFormat- Klasse in Android zu betrachten. Sei vorsichtig, das in den Android-Dokumenten erwähnte DateFormat zu importieren. Danach, was auch immer Formatierung Sie erreichen wollen ist wirklich einfach. Für eine grundlegende 12. August 2012 können Sie dies tun.

     DatePicker myDatePicker = (DatePicker) findViewById(R.id.mydatepicker); String selectedDate = DateFormat.getDateInstance().format(myDatePicker.getCalendarView().getDate()); 

    Schauen Sie sich die DateFormat- Klasse an, um verschiedene andere Konfigurationen zu erhalten.

    Kombiniert alle Antworten und machte ein Code-Snippet aus ihm heraus.

    Import datePicker an der Oberseite deiner Klasse:

     import android.widget.DatePicker; 

    Innerhalb deiner Klasse deklariere die folgende Variable:

     private DatePicker dobPicker; 

    Und hier ist der Code im Button-Click-Event:

      dobPicker = (DatePicker)findViewById(R.id.dobPicker); Integer dobYear = dobPicker.getYear(); Integer dobMonth = dobPicker.getMonth(); Integer dobDate = dobPicker.getDayOfMonth(); StringBuilder sb=new StringBuilder(); sb.append(dobYear.toString()).append("-").append(dobMonth.toString()).append("-").append(dobDate.toString()).append(" 00:00:00"); String dobStr=sb.toString(); 

    Wo in R.id.dobPicker ist dobPicker dein datePicker in der Layout-XML-Datei. Dies gibt Ihnen einen String am Ende, der gespeichert oder an den Server gesendet werden könnte.

    GetDateTimeFromPickers ()

    Einfache Methode zum Abrufen von Datum und Uhrzeit von einem DatePicker und einem TimePicker

    Caveat: Es nutzt JodaTimes DateTime als die Rückkehr. Sie können es ändern, um zu verwenden, was auch immer Sie mögen.

      // Gets the Date and Time from a DatePicker and TimePicker and return a JodaTime DateTime from them, in current timezone. // private DateTime getDateTimeFromPickers( int DatePickerId, int TimePickerId ) { DatePicker dp = (DatePicker) findViewById(DatePickerId); TimePicker tp = (TimePicker) findViewById(TimePickerId); String year = Integer.toString(dp.getYear()) ; String month = StringUtils.leftPad( Integer.toString(dp.getMonth() + 1), 2, "0" ); String day = StringUtils.leftPad( Integer.toString(dp.getDayOfMonth()), 2, "0" ); String hour = StringUtils.leftPad( Integer.toString(tp.getCurrentHour()), 2, "0" ); String minutes = StringUtils.leftPad( Integer.toString(tp.getCurrentMinute()), 2, "0" ); String dateTime = year + "-" + month + "-" + day + "T" + hour + ":" + minutes + ":00.000"; return DateTime.parse(dateTime); } 

    Ich hoffe, das hilft.

    JP

    Ich würde es als:

      Calendar calendar = Calendar.getInstance(); calendar.set(dp.getYear(), dp.getMonth(), dp.getDayOfMonth(), Tp.getCurrentHour(), Tp.getCurrentMinute()); DateFormat gmtFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); TimeZone gmtTime = TimeZone.getTimeZone("GMT"); gmtFormat.setTimeZone(gmtTime); String mydate = ""+ gmtFormat.format(calendar.getTime()); 

    Ps dp und tp sind Datum Picker und Zeit-Picker in Android.

     StringBuilder sb=new StringBuilder(); sb.append(myYear).append("-").append(myMonth).append("-").append(myDay); String str=sb.toString(); edittext.setText(str); 

    Versuchen Sie es mit Format Ex: 24 Dezember 2014.

      DatePicker datePicker = (DatePicker) findViewById(R.id.datepicker_inspection); SimpleDateFormat df = new SimpleDateFormat("dd MMMM yyyy"); String inspectiondate = df.format(new Date(datePicker.getYear() - 1900, datePicker.getMonth(), datePicker.getDayOfMonth())); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.