当前位置: 首页 > 知识库问答 >
问题:

如何在当前日期启动DatePickerDialog?

龙新荣
2023-03-14

我有一个方法可以使用日历返回当前日期,如下所示:

    Calendar calendar = Calendar.getInstance();
    dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
    dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
    month = calendar.get(Calendar.MONTH);
    year = calendar.get(Calendar.YEAR);

另一方面,我有一个DatePickerDialog,我需要用它来更新以前的值。

private void launchDatePicker() {
    final Calendar calendar = Calendar.getInstance();
    int nuevoDia = calendar.get(Calendar.DAY_OF_MONTH);
    int nuevoDiaSemana = calendar.get(Calendar.DAY_OF_WEEK);
    int nuevoMes = calendar.get(Calendar.MONTH);
    int nuevoAño = calendar.get(Calendar.YEAR);

    DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int nuevoAño, int nuevoMes, int nuevoDia) {
            //int nuevoDiaSemana = calendar.get(Calendar.DAY_OF_WEEK);
            dayOfMonth = nuevoDia;
            month = nuevoMes;
            year = nuevoAño;
            fechaActual(dayOfWeek, dayOfMonth,month);
            ajustarFormatoFecha();
            readFromDichos();
            faseLunar();


        }
    }
    ,nuevoDia,nuevoMes,nuevoAño);
    datePickerDialog.show();
}

问题是这个DatePicker总是以年=1900开始,我怎么才能以当前日期开始呢?

如何使用 DatePickerDialog 获取一周之日?

共有2个答案

霍浩皛
2023-03-14

FYI:

private void launchDatePicker() {
    final Calendar calendar = Calendar.getInstance();
    int nuevoDia = calendar.get(Calendar.DAY_OF_MONTH);
    int nuevoMes = calendar.get(Calendar.MONTH);
    int nuevoAño = calendar.get(Calendar.YEAR);

    DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int nuevoAño, int nuevoMes, int nuevoDia) {
            //int nuevoDiaSemana = calendar.get(Calendar.DAY_OF_WEEK);
            dayOfMonth = nuevoDia;
            month = nuevoMes;
            year = nuevoAño;
            Calendar c = calendar.getInstance();
            c.set(year,month,dayOfMonth);
            int nuevoDiaSemana = c.get(Calendar.DAY_OF_WEEK);
            dayOfWeek = nuevoDiaSemana;
            fechaActual(dayOfWeek, dayOfMonth,month);
            ajustarFormatoFecha();
            readFromDichos();
            faseLunar();
        }
    }
    ,nuevoAño,nuevoMes,nuevoDia);
    datePickerDialog.show();
}
魏鹤轩
2023-03-14

您正在将错误的参数传递给 DatePickerDialog,作为

nuevoDia,nuevoMes,nuevoAño

它应该是:新阿尼奥,新梅斯,新迪亚

你可以这样做:

private void launchDatePicker() {
    Calendar c = Calendar.getInstance();
    int mYear = c.get(Calendar.YEAR); 
    int mMonth = c.get(Calendar.MONTH);
    int mDay = c.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int nuevoAño, int nuevoMes, int nuevoDia) {
            //int nuevoDiaSemana = calendar.get(Calendar.DAY_OF_WEEK);
            dayOfMonth = nuevoDia;
            month = nuevoMes;
            year = nuevoAño;
            fechaActual(dayOfWeek, dayOfMonth,month);
            ajustarFormatoFecha();
            readFromDichos();
            faseLunar();


        }
    }
    , nuevoAño, nuevoMes, nuevoDia); // <----- correct arguments ------
    datePickerDialog.show();
}
 类似资料:
  • 问题内容: 如何在JavaScript中获取当前日期? 问题答案: 使用生成一个新的包含当前日期和时间对象。 这将以mm / dd / yyyy的格式给您今天的日期。 只需更改为所需的任何格式。

  • 问题内容: 我有一个当前的Date对象,需要使用JavaScript Date对象将其增加一天。我有以下代码: 如何添加一天? 我已将+1添加到,但不会显示“”的“星期日” ,这是我希望发生的情况。 问题答案: 要将一天添加到日期对象:

  • 我需要获取当前日期,但格式如下: 有什么方法我可以用吗?我只找到了不同的格式和暂时无法使用的东西。用于使用python。

  • 问题内容: 我已经进行了所有设置,将当前日期存储到Java中的变量中。我要弄清楚的是如何存储当前日期之后1年的日期。 这是我当前的日期: 因此,例如,如果今天是今天,它将存储2/18/2013。我正在尝试存储日期2/18/2014。我将如何去做呢? 问题答案: 如果您不想拖动外部库,只需使用 请注意,如果日期是,并且您添加了1年,则将获得

  • 问题内容: 要插入到列中。我正在使用 数据库。我的问题是: SQL中有可用的功能吗?或者 它取决于实现,因此每个数据库对此都有自己的功能? MySQL中可用的功能是什么? 问题答案: 完整答案: 1. SQL中有可用的功能吗? 是的,SQL 92规范,97年10月,第pg。171第6.16节指定了以下功能: 2.它是依赖于实现的,因此每个数据库对此都有自己的功能吗? 每个数据库都有其自己的实现,但

  • 问题内容: 有人可以告诉我如何从当前日期减去45天吗? 谢谢 问题答案: 您可以使用Calendar类: