1

Datepicker から Date を取得しようとしています。コードは以下のとおりです。

dpResult = (DatePicker) findViewById(R.id.dpResult);
 btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //Calendar current = Calendar.getInstance();
                gettingDate();

            }

            private void gettingDate() {
                // TODO Auto-generated method stub
                int   day  = dpResult.getDayOfMonth();
                int   month= dpResult.getMonth();
                int   year = dpResult.getYear();

                SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
                 formatedDate = sdf.format(new Date(year, month, day));
            //  You can parse the String back to Date object by calling

                try {
                     date = sdf.parse(formatedDate);
                } catch (ParseException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                Toast.makeText(getApplicationContext(), ""+formatedDate, 1000).show();
            }
        });

私のトーストは日付と月を正しく表示しますが、年には最初の2桁が39、つまり3913、3914などのように表示されます助けてください

4

3 に答える 3

2

使用するdpResult.getYear()-1900

int   year = dpResult.getYear();
于 2013-08-01T04:58:32.187 に答える
0

Date は非推奨です。代わりに、次の構文で Calendar を使用する必要があります

Calendar cal = Calendar.getInstance()
cal.set(dpResult.getYear(), dpResult.getMonth()-1,getDayOfMonth())
于 2013-08-01T05:04:43.710 に答える