如何以UTC格式解析Datepicker中的日期



我想让用户选择一个日期,我想在ParseObject中设置这个日期(我使用的是Parse.com(。ParseObject的列类型为date,格式与下面的SimpleDateFormat相同。但从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;
}

这将返回您所需的准确UTC日期格式

最新更新