2012-07-03 48 views
3

有沒有一種方法可以通過格式「MM/dd」獲得日期,但不是月份爲int,而是像「Jan 30」那樣縮短了string以「ShortenedMonth/dd」格式獲取日期

目前我通過一個簡單的Switch Case用Java做了這個,但我想知道這是否已經包含在DateFormat或類似的東西中。

無論如何,我離開這裏我的當前代碼。我使用了R.string,因爲我的應用程序具有多語言支持。

public void setShortMonth(){ 
    final Calendar calendar = Calendar.getInstance(); 
    int Month = calendar.get(Calendar.MONTH); 
    String ShortMonth = " "; 
    switch (Month){ 
     case 0: 
      ShortMonth = getString(R.string.Jan); 
      break; 
     case 1: 
      ShortMonth = getString(R.string.Fev); 
      break; 
     case 2: 
      ShortMonth = getString(R.string.Mar); 
      break; 
     case 3: 
      ShortMonth = getString(R.string.Apr); 
      break; 
     case 4: 
      ShortMonth = getString(R.string.May); 
      break; 
     case 5: 
      ShortMonth = getString(R.string.Jun); 
      break; 
     case 6: 
      ShortMonth = getString(R.string.Jul); 
      break; 
     case 7: 
      ShortMonth = getString(R.string.Aug); 
      break; 
     case 8: 
      ShortMonth = getString(R.string.Sep); 
      break; 
     case 9: 
      ShortMonth = getString(R.string.Oct); 
      break; 
     case 10: 
      ShortMonth = getString(R.string.Nov); 
      break; 
     case 11: 
      ShortMonth = getString(R.string.Dec); 
      break; 
     } 
     TextView datetxt = (TextView) findViewById(R.id.home_date); 
     datetxt.setText(ShortMonth + " " + Day); 
} 

回答

7

嘗試這樣的:

final Calendar calendar = Calendar.getInstance(); 
SimpleDateFormat formatter = new SimpleDateFormat("MMM dd"); // 3-letter month name & 2-char day of month 
TextView datetxt = (TextView) findViewById(R.id.home_date); 
datetxt.setText(formatter.format(calendar.getTime())); 

你可以看到可用的格式選項here列表。

+0

我以爲是MMM,但我搜索,沒有發現任何關於這種格式,所以我問。顯然我的搜索不好... 謝謝。 –