在简单的日期格式中,日期不正确

时间:2017-11-21 13:02:23

标签: android date

如果我从日历中选择日期,则显示昨天的日期。我在日期选择器上做了一个项目。

SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMM, E", 
Locale.ENGLISH);
Date dat =new Date(year,month,date);
str = dateFormat.format(dat);

2 个答案:

答案 0 :(得分:0)

试试这个..

int mYear, mMonth, mDay;
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
c.add(Calendar.DAY_OF_MONTH, -7);
DatePickerDialog datePickerDialog = new DatePickerDialog(Attendence.this,
        new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            String datee = "";
            String months = "";
            if (dayOfMonth < 10) {
                datee = "0" + dayOfMonth;
            } 
            else {
                datee = String.valueOf(dayOfMonth);
            }

            if ((monthOfYear + 1) < 10) {
                months = "0" + String.valueOf(monthOfYear + 1);
            } 
            else {
                months = String.valueOf(monthOfYear + 1);
            }

            String actualDate = datee + "-" + months + "-" + year;
            edtDatepicker.setText(actualDate);
        }
}, mYear, mMonth, mDay);
datePickerDialog.show();

答案 1 :(得分:0)

如果您正在使用Date.getDay(),请注意返回的整数值的含义,在某些国家/地区可能会显得很奇怪:

  

int getDay()

     

返回此日期所代表的星期几。   返回值(0 =星期日,1 =星期一,2 =星期二,3 =   星期三,4 =星期四,5 =星期五,6 =星期六)代表当天   当前包含或开始的那一周   由此Date对象表示,在本地时间解释   区。