Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android DatePicker片段返回一个月前的日期_Android_Datepicker - Fatal编程技术网

Android DatePicker片段返回一个月前的日期

Android DatePicker片段返回一个月前的日期,android,datepicker,Android,Datepicker,好吧,这很奇怪。我有一个非常简单的DatePicker对话框。问题是,无论我选择什么日期,返回的值都正好比所选日期早一个月。这是我的密码: 活动 btnEventDate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { DialogFragment newFragment = new DatePickerFragment();

好吧,这很奇怪。我有一个非常简单的
DatePicker
对话框。问题是,无论我选择什么日期,返回的值都正好比所选日期早一个月。这是我的密码:

活动

btnEventDate.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        DialogFragment newFragment = new DatePickerFragment();
        newFragment.show(getSupportFragmentManager(), "datePicker");
    }
});

@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
    DateTime dt = new DateTime(year, monthOfYear, dayOfMonth, 0, 0, 0, 0);
    Log.d(Constants.TAG, "dt: " + dt.toString());
    Log.d(Constants.TAG, "str: " + dateHandler.convertDateToYYYY_MM_DDString(dt));
}
DatePickerFragment

public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the current date as the default date in the picker
        final Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH);
        int day = c.get(Calendar.DAY_OF_MONTH);

        return new DatePickerDialog(getActivity(), (OnDateSetListener)getActivity(), year, month, day);
    }

    public void onDateSet(DatePicker view, int year, int month, int day) {}
}
当对话框出现时,它清楚地设置为今天的日期。假设我选择2015年10月12日,日志输出显示:

dt:2015-09-12T00:00:00.000-06:00
str:2015-09-12


我一定错过了什么。有人知道我做错了什么吗?

请访问此链接,我认为本月从0开始到11,如果我做错了,请忽略


请访问此链接,我认为本月从0开始到11,如果我错了,请忽略


月份从
0
12
。从
一月
取消升空

尝试将它们与
日历。“月”
进行比较

示例:
Calendar.十月==9

链接:


注意:如果您使用了
GregoriaCalendar
,您可以忽略第十三个月。

月份从
0
12
。从
一月
取消升空

尝试将它们与
日历。“月”
进行比较

示例:
Calendar.十月==9

链接:


注意:如果使用
GregoriaCalendar
,可以忽略第十三个月。

尝试使用此DateTime dt=new DateTime(year,monthOfYear+1,dayOfMonth,0,0,0),当然可以解决问题,但这样做正确吗?如果月份是以零为基础的,那么为什么年和日不也是以零为基础的呢?试试这个DateTime dt=newdatetime(year,monthOfYear+1,dayOfMonth,0,0,0)好吧,这肯定会解决问题,但这是正确的做法吗?如果月份是以零为基础的,为什么年和日不也是以零为基础的呢?你说得对。看起来很奇怪,月份是以零为基础的,但其他参数不是。生活和学习,我想。谢谢你说得对。看起来很奇怪,月份是以零为基础的,但其他参数不是。生活和学习,我想。谢谢