Search code examples
androidandroid-datepickerandroid-date

How to parse date from Datepicker in UTC format?


I want from user to pick a date and I want to set this date in ParseObject (I'm using Parse.com). Column in ParseObject is type Date and it is in same format as SimpleDateFormat below. But from DatePicker I will get just year, month and day. Those attributes are also in wrong format. I also need exact time.

Is there any way how to return Date from Datepicker in exact same format?

alertDialogDateBtn?.setOnClickListener {
            val c = Calendar.getInstance()

            val dpd = DatePickerDialog(this,
                DatePickerDialog.OnDateSetListener { _, year, monthOfYear, dayOfMonth ->
                    val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS'Z'")
                    chosenDate = simpleDateFormat.parse(year.toString() + "-" + (monthOfYear + 1).toString() + "-" + dayOfMonth.toString())
                }, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DATE))
                    dpd.show()
        }

Solution

  • I had a similar issue, but this worked for me :)

        final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
    
                    myCalendar.set(Calendar.YEAR, year);
                    myCalendar.set(Calendar.MONTH, monthOfYear);
                    myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                    updateLabel();
                }
            };
            fromDay.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    new DatePickerDialog(ViewActivity.this, date, myCalendar
                            .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                            myCalendar.get(Calendar.DAY_OF_MONTH)).show();
                }
    });