Java Android将DatePicker生成的日期转换为SimpleDateFormat

Java Android将DatePicker生成的日期转换为SimpleDateFormat,java,android,datepicker,simpledateformat,Java,Android,Datepicker,Simpledateformat,我刚刚为我的应用程序实现了一个日期选择器。但我很难理解如何将其(“theDate”)转换为简单格式(“yyyy-MM-dd HH:MM:ss Z”),就像下面代码中的(“submitDate”)一样 有人能告诉我如何在我的代码中这样做吗?谢谢大家! protected Dialog onCreateDialog(int id) { switch (id) { case SDATE_DIALOG_ID: return new Date

我刚刚为我的应用程序实现了一个日期选择器。但我很难理解如何将其(“theDate”)转换为简单格式(“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));

            }
受保护的对话框onCreateDialog(int-id){
开关(id){
案例数据对话框ID:
返回新的DatePickerDialog(此,
SDATestListener,mYear,Ammonth,mDay);
}
返回null;
}
专用DatePickerDialog.OnDateSetListener sDateSetListener=
新建DatePickerDialog.OnDateSetListener(){
公共无效onDateSet(日期选择器视图,
整数年,整数月,整数月){
迈耶=年;
Ammonth=蒙托夫年;
mDay=月的第几天;
updateDate();
}
};
私有void updateDate(){
inputDate.setText(
新的StringBuilder()
.append(mm+1)。append(“-”)
.append(mDay)。append(“-”)
.append(mYear)。append(“”);
}
类CreateNewRequest扩展了AsyncTask{
受保护的字符串doInBackground(字符串…args){
Calendar c=Calendar.getInstance();
SimpleDataFormat sd=新的SimpleDataFormat(“yyyy-MM-dd HH:MM:ss Z”);
String submitDate=sd.format(c.getTime());
字符串theDate=inputDate.getText().toString();
List params=new ArrayList();
添加参数(新的BasicNameValuePair(“请求日期”,theDate));
添加参数(新的BasicNameValuePair(“submitDate”,submitDate));
}
步骤1)您需要使用
SimpleDataFormatter

对于上面的步骤,您可能需要单独的
SimpleDataFormatter
,您已经为下面的步骤工作过的步骤

thisDate的格式使用连字符作为分隔符,因此步骤1的SimpleDateFormatter应使用连字符:

示例:
newsimpledateformat(“MM dd yyyy”);

步骤2)将在上述步骤中构造的Date对象作为输入而不是c.getTime(),然后您将获得所需的格式化日期

编辑:


请看这个例子,它与您的要求几乎相同ementhttp://www.java2s.com/Tutorial/Java/0040__Data-Type/SimpleDateFormat.htm,而不是解析(..)中的硬编码字符串,你需要通过这个日期。谢谢你Nambari,但是你能再给我一次链接吗?它看起来像是一个坏链接..好吧..我还是不明白..我想我真的需要有人来指导我,因为我是java新手..@nana:我可以知道你到底没有得到什么吗?你能更新你的最新代码吗?因为e我不明白示例链接中的意思..你能友好地告诉我吗?我的大脑现在一片空白。。
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();
    }