Java 在日历上显示正确的日期

Java 在日历上显示正确的日期,java,android,Java,Android,因此,我的小部件可以正确启动,但一旦用户做出选择,它就不会显示正确的选择。这是我的密码 SimpleDateFormat dayFormatter = new SimpleDateFormat("EEEE, MMMM FF, yyyy"); Calendar cal = Calendar.getInstance(); 这是在我的代码开始时运行的,当小部件启动时,它会显示正确的日期。这可能与我为什么会有最初的问题有关,但我不知所措,不知道如何解决这个问题 DatePickerDialog.OnD

因此,我的小部件可以正确启动,但一旦用户做出选择,它就不会显示正确的选择。这是我的密码

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之前创建的一个类,用于使用字符串执行此操作。这是位于顶部并显示正确日期的字符串。我也不明白为什么第二次约会从它的位置开始

将您的模式从
“EEEE,MMMM FF,yyyy”
更改为
“EEEE,MMMM dd,yyyy”


FF是月中的星期几,dd是月中的天。查看javadoc以了解

谢谢您,先生。我喜欢犯最简单错误的工作,认为这是件大事。