Setting time and date to date picker and time picker in android

后端 未结 5 1557
谎友^
谎友^ 2020-12-17 07:49

I am using a date picker and time picker in my application. I want to set the date and time when the page loads. Is this possible? How so?

相关标签:
5条回答
  • 2020-12-17 07:59

    There is a updateDate method for the DatePicker.

    Here is what I use in one of my app, not using a dialog:

    //set datePicker to position
    String date_saved = project_row.getString(
        project_row.getColumnIndex("project_startdate"));
    
    int day  = Integer.parseInt(date_saved.substring(0,2));
    int year = Integer.parseInt(date_saved.substring(5,9));
    String month = date_saved.substring(2,5);
    int month_code = getMonthInt(month);
    
    project_startdate_data = (DatePicker) findViewById(R.id.project_startdate_data);
    project_startdate_data.updateDate(year, month_code, day);
    

    where project_row is my cursor, and the date is saved in the column project_startdate like 22MAY2012

    and you need this:

    private int getMonthInt(String month) {
        if (month.equalsIgnoreCase("JAN")) return 0;
        if (month.equalsIgnoreCase("FEB")) return 1;
        if (month.equalsIgnoreCase("MAR")) return 2;
        if (month.equalsIgnoreCase("APR")) return 3;
        if (month.equalsIgnoreCase("MAY")) return 4;
        if (month.equalsIgnoreCase("JUN")) return 5;
        if (month.equalsIgnoreCase("JUL")) return 6;
        if (month.equalsIgnoreCase("AUG")) return 7;
        if (month.equalsIgnoreCase("SEP")) return 8;
        if (month.equalsIgnoreCase("OCT")) return 9;
        if (month.equalsIgnoreCase("NOV")) return 10;
        if (month.equalsIgnoreCase("DEC")) return 11;
    
        //return -1 if month code not found
        return -1;
    }
    
    0 讨论(0)
  • 2020-12-17 07:59

    Check this How to use date picker dialog. and use update function in onCreate(); if by page loads you mean activity starts.... hope it helps.

    0 讨论(0)
  • 2020-12-17 08:12

    I solved a similar problem of mine as follows

    Calendar cal = Calendar.getInstance();
    
    int year = cal.get(Calendar.YEAR);
    int month = cal.get(Calendar.MONTH);
    int day = cal.get(Calendar.DAY_OF_MONTH);
    int hour = cal.get(Calendar.HOUR_OF_DAY);
    int min = cal.get(Calendar.MINUTE);
    
    datePicker.updateDate(year, month, day);
    
    timePicker.setCurrentHour(hour);
    timePicker.setCurrentMinute(min);
    
    0 讨论(0)
  • 2020-12-17 08:14

    Using JodaTime

    JodaTime is an extremely popular and useful library for handling dates and times in Java. If you're not using it, I highly recommend taking a look at it.

    Here's a simple example of how I set a DatePicker and TimePicker from a DateTime object, which could be the current date or any date from the past or future (the attribute in this case is called inspected_at):

    DatePicker datePicker = (DatePicker) findViewById(R.id.inspected_at_date);
    TimePicker timePicker = (TimePicker) findViewById(R.id.inspected_at_time);
    
    DateTime inspected_at = DateTime.now()                // Typically pulled from DB.
    
    int year    = inspected_at.getYear() ;
    int month   = inspected_at.getMonthOfYear() - 1;      // Need to subtract 1 here.
    int day     = inspected_at.getDayOfMonth();  
    int hour    = inspected_at.getHourOfDay();
    int minutes = inspected_at.getMinuteOfHour();
    
    datePicker.updateDate(year, month, day);              // Set date.
    
    timePicker.setCurrentHour(hour);                      // Set time.
    timePicker.setCurrentMinute(minutes);
    

    Hope that helps.

    JP

    0 讨论(0)
  • 2020-12-17 08:17

    Check this.

    Use showDialog(TIME_DIALOG_ID); function in onCreate();

    0 讨论(0)
提交回复
热议问题