【问题标题】:Setting a specific date in datePickerdialog在 datePickerdialog 中设置特定日期
【发布时间】:2014-04-17 12:32:27
【问题描述】:

我在 datepickerdialog 中设置了 MaxDate。它运行良好,但年份段的最小值是 1980。我如何将该值设置为 1900。 我的代码是:

DatePickerDialog dp=new DatePickerDialog(getParent(),datesetListener,day,month,year);
dp.getDatePicker().setMaxDate(System.currentTimeinMillis());

【问题讨论】:

    标签: android datepickerdialog


    【解决方案1】:

    您可以从 DatePickerDialog 获取底层 DatePicker(只需调用 getDatePicker())并使用以下方法设置其边界:

    setMinDate(long minDate)

    setMaxDate(long maxDate)

    其中参数是自默认时区 1970 年 1 月 1 日 00:00:00 以来的通常毫秒数。当然,您仍然需要计算这些值,但这对于 Calendar 类应该是微不足道的:只需传递当前日期并从中添加或减去 x 年。

    引用自 here 和 here

    示例代码

            Date min = new Date(2013-1900, 4, 21);
            DatePicker p = getDatePicker();
            p.setMinDate(min.getTime());
    

    【讨论】:

    • 试过了,但将最小年份设置为 2014 年,最大值设置为 2036 年,而不是预期的
    【解决方案2】:

    试试这个dp.setMinDate(new Date(1900,1,1));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      相关资源
      最近更新 更多