2014-04-19 31 views
1

我有使用datepicker的android代码。目前我得到的输出格式是11-2-14。我希望得到一个格式2 NOV-14.Below是我当前的代码部分:如何在android中更改datepicker格式?

final Calendar c = Calendar.getInstance(); 
      year=c.YEAR; 
      month=c.MONTH+1; 
      day=c.DAY_OF_MONTH; 
@Override 
     protected Dialog onCreateDialog(int id) { 
      switch (id) { 
      case DATE_PICKER_ID1: 


       // set date picker for current date 

       return new DatePickerDialog(this, pickerListener1, year, month,day); 


      case DATE_PICKER_ID2: 


       // set date picker for current date 

       return new DatePickerDialog(this, pickerListener2, year, month,day); 


      } 
      return null; 
     } 

     private DatePickerDialog.OnDateSetListener pickerListener1 = new DatePickerDialog.OnDateSetListener() { 

      // when dialog box is closed, below method will be called. 
      @Override 
      public void onDateSet(DatePicker view, int selectedYear, 
        int selectedMonth, int selectedDay) { 

       year = selectedYear; 
       month = selectedMonth; 
       day = selectedDay; 

       // Show selected date 
       date1=""+day+"-"+month+"-"+year+" "; 
       Output1.setText(new StringBuilder().append(day).append("-").append(month + 1).append("-").append(year).append(" ")); 



       } 
      }; 
      private DatePickerDialog.OnDateSetListener pickerListener2 = new DatePickerDialog.OnDateSetListener() { 

       // when dialog box is closed, below method will be called. 
       @Override 
       public void onDateSet(DatePicker view, int selectedYear, 
         int selectedMonth, int selectedDay) { 

        year = selectedYear; 
        month = selectedMonth; 
        day = selectedDay; 

        // Show selected date 
        date2=""+day+"-"+month+"-"+year+" "; 
        Output2.setText(new StringBuilder().append(month + 1) 
          .append("-").append(day).append("-").append(year) 
          .append(" ")); 


        } 
       }; 

上面的代码给出了日期格式11-2-14.Please帮助。

回答

0

首先,你必须交换一天的月份:

year = selectedYear; month = selectedDay; day = selectedMonth;

然后你在你的类,其中s [I]含有添加一个私有静态最终字符串数组作为场第(i - 1)串represntation个月的一年:S [10] = “十一月” 和您更换

month = selectedDay;

month = s[selectedDay];

+0

,月沃尔德必须是一个字符串 – Valdrinit

0

尝试像下面的代码:

public void onDateSet(DatePicker view, int selectedYear, 
        int selectedMonth, int selectedDay) { 

       year = selectedYear; 
       month = selectedMonth; 
       day = selectedDay; 

       // Show selected date 
       date1=""+day+"-"+month+"-"+year+" "; 
       String mon = formatMonth(month+1); 
       Output1.setText(day+"-"+mon+"-"+year); 
       } 
      }; 



public String formatMonth(int month) { 
    Locale locale; 
    DateFormat formatter = new SimpleDateFormat("MMM", locale); 
    GregorianCalendar calendar = new GregorianCalendar(); 
    calendar.set(Calendar.MONTH, month-1); 
    return formatter.format(calendar.getTime()); 
} 
当然
相关问题