如何从 Datepicker 解析 UTC 格式的日期?

How to parse date from Datepicker in UTC format?

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

有什么方法可以return 以完全相同的格式从 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()
        }

我遇到了类似的问题,但这对我有用:)

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

只需将 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;

}

这将为您return提供您需要的确切 UTC 日期格式