2012-11-20 21 views
1

我只是實現一個datepicker我的應用程序。但我很難理解如何將它('theDate')轉換爲SimpleDateFormat(「yyyy-MM-dd HH:mm:ss Z」),就像下面我的代碼中的('submitDate')一樣。的Android轉換的DatePicker生成日期爲SimpleDateFormat的

可能有人好心告訴我該怎麼做在我的代碼嗎?謝謝!

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)); 

      } 

回答

3

步驟1)你必須使用SimpleDateFormatter

解析theDate到Date對象,您可能需要爲上述步驟分開SimpleDateFormatter,你已經有一個適用於只是下面的步驟。

你thisDate被設置爲帶連字符作爲分隔符,所以你對步驟1 SimpleDateFormatter應該使用連字符:

實施例:new SimpleDateFormat("MM-dd-yyyy");

在上述步驟構建作爲輸入,而不是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(); 
    } 
+0

見這個例子中,幾乎相同的喜歡你requirementhttp:代替解析硬編碼字符串//www.java2s.com/Tutorial/Java/0040__Data-Type/SimpleDateFormat.htm,( ..),你需要通過thisDate。 – kosa

+0

謝謝Nambari,但你能再次給我鏈接嗎?它看起來像一個不好的鏈接.. – user1781367

+0

沒關係..我找到它。 – user1781367

相關問題