0

我想从用户那里选择一个日期,我想在 ParseObject 中设置这个日期(我正在使用 Parse.com)。ParseObject 中的列是 Date 类型,它的格式与下面的 SimpleDateFormat 相同。但是从 DatePicker 我只会得到年、月和日。这些属性的格式也错误。我也需要准确的时间。

有什么方法可以以完全相同的格式从 Datepicker 返回日期?

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

2 回答 2

1

我有一个类似的问题,但这对我有用:)

    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();
            }
});
于 2018-12-03T09:22:50.993 回答
0

只需将您的日期传递DatePicker给此函数,您的日期选择器选择日期的模式应该是这样的

yyyy-mm-dd

public static String changeDateTimeFormat(String inputString) {
    Log.i(">>inputDate", "changeDateFormat: " + inputString);
    String[] date1 = new String[1];
    String inputPattern = "yyyy-MM-dd";
    String outputPattern = "dd-MMM-yyyy h:mm a";
    SimpleDateFormat inputFormat = new SimpleDateFormat(inputPattern);
    SimpleDateFormat outputFormat = new SimpleDateFormat(outputPattern);

    Date date = null;
    String str = null;
    try {
        date = inputFormat.parse(inputString);
        str = outputFormat.format(date);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return str;

}

这将返回您需要的确切 UTC 日期格式

于 2018-12-03T10:03:27.490 回答