【问题标题】:SetMinDate of DatePickerDialog by Calendar value instead of long通过 Calendar 值而不是 long 设置 DatePickerDialog 的 SetMinDate
【发布时间】:2016-02-22 11:24:43
【问题描述】:

我正在使用这个Example 创建 DatePicker,其中 setMinDate 的方法将第一个参数作为 Calendar 而不是 long,我想执行这个方法 datePicker.setMinDate(calendar.getTimeInMillis()- 1000); 如何在不改变方法结构的情况下将最后一个日期设为 Calendar 而不是 long?

DatePickerDialog中setMinDate的结构是:

public void setMinDate(Calendar calendar) {
    mMinDate = calendar;

    if (mDayPickerView != null) {
        mDayPickerView.onChange();
    }
}

提前致谢。

【问题讨论】:

  • 你需要日期格式而不是long?
  • 不,我需要日历格式
  • 看版,我贴出方法结构。

标签: android datepicker


【解决方案1】:
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date date = (Date)formatter.parse("Your date"); //2016-02-22


datePicker.setsetMinDate(DateToCalendar(date));


public static Calendar DateToCalendar(Date date){ 
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal;
}

【讨论】:

  • 我想用calendar.getTimeInMillis()- 1000获取上一个日期,不想用dateFormate,因为没有具体的格式
  • 在不知道字符串格式的情况下将字符串转换为日期。这是不可能的。参考stackoverflow.com/questions/3707485/…
  • 我是Date myDate = new Date(calender.getTimeInMillis() - 1000); datePicker.setMinDate(DateToCalendar(myDate));
  • 感谢您的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-24
  • 2012-03-25
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
相关资源
最近更新 更多