2011-07-11 71 views
0

因此,我的小部件正确拉出,但一旦用户做出选择,它不会显示正确的选择。这是我的代码。有显示日历正确日期的波动

SimpleDateFormat dayFormatter = new SimpleDateFormat("EEEE, MMMM FF, yyyy"); 
Calendar cal = Calendar.getInstance(); 

这是在我的代码的开始运行,当小部件被拉起它显示正确的日期。这可能与我为什么有我的原始问题有关,但我迷失方向,不知道如何解决这个问题。

DatePickerDialog.OnDateSetListener d=new DatePickerDialog.OnDateSetListener() { 
    public void onDateSet(DatePicker view, int year, int monthOfYear, 
      int dayOfMonth) { 
     cal.set(Calendar.YEAR, year); 
     cal.set(Calendar.MONTH, monthOfYear); 
     cal.set(Calendar.DAY_OF_MONTH, dayOfMonth); 

     int w = cal.get(Calendar.DAY_OF_WEEK); 
     Date z = cal.getTime(); 
     description.setText(gDate.date(w, year, monthOfYear + 1, dayOfMonth) + 
       "\n" + dayFormatter.format(z)); 

这里是输出。

周一,2011年7月14日

周一,2011年7月2日

gDate.date(w, year, monthOfYear + 1, dayOfMonth) 

这上面的代码是我创造了这样做有一个字符串之前,我了解的SimpleDateFormat类。这是顶部并显示正确日期的字符串。另外我不明白为什么第二次约会开始的地方。

回答

1

"EEEE, MMMM FF, yyyy"您的模式更改为"EEEE, MMMM dd, yyyy"

FF是在一个月星期,DD是天月。见javadoc SimpleDateFormat

+0

谢谢先生。我喜欢将最简单的错误认为它很大的工作。 – Funlamb