我希望用户选择一个日期,并希望在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()
}
答案 0 :(得分:0)
我有一个类似的问题,但这对我有用:)
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();
}
});
答案 1 :(得分: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日期格式