我正在尝试将DatePicker日期格式化为简单的数据格式(“yyyy-MM-dd HH: mm: ss Z”)。有人告诉我,我需要使用简单的数据格式将其解析为日期对象-简单的数据格式(“yyyy-MM-dd”),然后将其格式化为我需要的内容,如下所示。但是,我在尝试捕捉块中收到错误“重复局部变量eDate”。任何专家都可以查看我的代码并提出建议吗?
已更新
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case EDATE_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() {
inputEdate.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 firstDateFormat =
new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat secondDateFormat =
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
String eDate = inputEdate.getText().toString();
try{
Date date = firstDateFormat.parse(eDate);
String eDate = secondDateFormat.format(date);
}catch(ParseException e) {
e.printStackTrace();
}
String submitDate = secondDateFormat.format(c.getTime());
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("submitDate", submitDate));
params.add(new BasicNameValuePair("request_date", eDate));
}
复制变量 eDate
的声明。如果你想要覆盖该值,只需删除类型声明 String
即可,如下所示:
eDate = df.format(date);
编辑:
我想你想要的是这个:
class CreateNewRequest extends AsyncTask<String, String, String> {
protected String doInBackground(String... args) {
Calendar c = Calendar.getInstance();
SimpleDateFormat firstDateFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat secondDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
String eDate = inputEdate.getText().toString();
try {
Date date = firstDateFormat.parse(eDate);
eDate = secondDateFormat.format(date);
submitDate = secondDateFormat.format(c.getTime());
} catch(ParseException e) {
e.printStackTrace();
}
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("submitDate", submitDate));
params.add(new BasicNameValuePair("request_date", eDate));
}
}
问题内容: 如果我有一个日期,而我想要的只是这样的月份和日期(mm / dd),然后把这个月份变成08年7月,您将如何写日期 问题答案: 让我看看我是否理解得很好。 您有“ 07/08”之类的日期,并且想要“ 08年7月”? 您可以尝试SimpleDateFormat
我有一个变量在一个类在测试情况下,我需要嘲笑它。我尝试过这样 但事实的确如此 giving me无法将给定对象格式化为日期 在一台机器和另一台机器上 它给我的日期不能为空。 我是Junit新手,需要帮助解决这个问题
我想在获得,和。 这是一条漫长的道路: 我的问题:如何将最后一部分压缩到函数? 我想归档的内容: p/s:的含义与标准数字格式字符串相同。像C#语法:
设定年月日的排列顺序。
问题内容: 这是我的日期字符串: “ 07SEP2014 00:00” 这是将字符串转换为日期的代码: 而且我正在解析异常。我做错了什么? 问题答案: 您的代码有效-只要您的系统具有SEP = September的语言环境。您可以设置区域设置来确保这一点: