我刚为我的应用程序实现了DatePicker。但是我很难理解如何将它('theDate')转换为SimpleDateFormat(“yyyy-MM-dd HH:mm:ss Z”),就像下面代码中的('submitDate')一样。
有人可以告诉我如何在我的代码中执行此操作吗?谢谢!
protected Dialog onCreateDialog(int id) {
switch (id) {
case SDATE_DIALOG_ID:
return new DatePickerDialog(this,
sDateSetListener, mYear, mMonth, mDay);
}
return null;
}
private DatePickerDialog.OnDateSetListener sDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view,
int year, int monthOfYear, int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateDate();
}
};
private void updateDate() {
inputDate.setText(
new StringBuilder()
.append(mMonth + 1).append("-")
.append(mDay).append("-")
.append(mYear).append(" "));
}
class CreateNewRequest extends AsyncTask<String, String, String> {
protected String doInBackground(String... args) {
Calendar c = Calendar.getInstance();
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
String submitDate = sd.format(c.getTime());
String theDate = inputDate.getText().toString();
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("request_date", theDate));
params.add(new BasicNameValuePair("submitDate", submitDate));
}
答案 0 :(得分:3)
步骤1)您需要使用theDate
SimpleDateFormatter
解析为Date对象
您可能需要单独的SimpleDateFormatter
进行上述步骤,您已经为下面的步骤工作了。
你的thisDate格式化为连字符作为分隔符,因此step1的SimpleDateFormatter应该使用连字符:
示例:new SimpleDateFormat("MM-dd-yyyy");
Step2)将上面步骤中构造的Date对象作为输入而不是c.getTime()传递,然后您将获得所需的格式化日期。
编辑:
String theDate = inputDate.getText().toString();
SimpleDateFormat firstFormatter = new SimpleDateFormat("MM-dd-yyyy");
try {
Date date = firstFormatter .parse(theDate );
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
String submitDate = sd.format(date);
} catch (ParseException e) {
e.printStackTrace();
}