有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在安卓中设置时,java日期不正确

我使用以下代码。当我按下编辑文本时,它会显示日历并设置日期

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

               public void onDateSet(DatePicker view, int year, 
                                     int monthOfYear, int dayOfMonth) {
                   mYear = year;
                   mMonth = monthOfYear;
                   mDay = dayOfMonth;
                   updateDisplay();
               }
           };

           private void updateDisplay() 
           {
            int cmpYear ;
            int cmpMonth ;
            int cmpDay;

            final Calendar c = Calendar.getInstance();
               cmpYear = c.get(Calendar.YEAR);
               cmpMonth = c.get(Calendar.MONTH);
               cmpDay = c.get(Calendar.DAY_OF_MONTH);

                if (cmpMonth == mMonth && cmpYear == mYear && cmpDay == mDay)   
                date.setText("Today");
            else if (cmpMonth == mMonth && cmpYear == mYear && cmpDay == (mDay - 1))
                date.setText("Yesterday");
            else
            {
                date.setText(
                        new StringBuilder()
                           // Month is 0 based so add 1
                           .append(mDay).append("-")
                           .append(mMonth + 1).append("-")
                           .append(mYear).append(" "));
            }

                java.util.Date today = new java.util.Date();
               long t = today.getTime();
               java.sql.Date dt = new java.sql.Date(t);

               dt.setYear(mYear);
               dt.setMonth(mMonth);
               dt.setDate(mDay);

               transaction.transactionDateTime =   dt;
            }

//问题是,mYear,mMonth,mDay显示了1,32012的正确值,但当我在dt中设置它们时,dt将mYear保存为3079,而不是2012。 请告诉我如何解决这个日期问题

致意


共 (0) 个答案