2014-02-18 70 views
0

我有這種解析一天和一天的方法,問題是我需要獲得下週的一天。Android日曆:獲取下週的日子

例子:

我也有這一天時間週一,10:00 PM和當前時間週一,11:00 PM

當我分析這parseTime("M","10:00 PM")它返回我由於當前時間過去的日期。

我要實現的是下週的週一,10:00 PM

public static Calendar parseTime(String day, String time) { 

    String[] sepa_time_ampm = time.split(" "); 

    String[] sepa_time_hr_mn = sepa_time_ampm[0].split(":"); 

    Calendar calendar = Calendar.getInstance(); 

    if (!isNumeric(day)) { 
     calendar.set(Calendar.DAY_OF_WEEK, parseDay(day)); 
    } 

    if(Integer.parseInt(sepa_time_hr_mn[0]) == 12) sepa_time_hr_mn[0] = "00"; 

    calendar.set(Calendar.HOUR, Integer.parseInt(sepa_time_hr_mn[0])); 
    calendar.set(Calendar.MINUTE, Integer.parseInt(sepa_time_hr_mn[1])); 
    calendar.set(Calendar.SECOND, 0); 
    calendar.set(Calendar.MILLISECOND, 0); 



    if (sepa_time_ampm[1].equals("AM")) { 
     calendar.set(Calendar.AM_PM, Calendar.AM); 
    } else { 
     calendar.set(Calendar.AM_PM, Calendar.PM); 
    } 

    if((calendar.getTimeInMillis() - System.currentTimeMillis()) < 0) { 
    //It is now in the past 
    } 

    return calendar; 

} 
+2

肯定與日期一個簡單的測試,現在會做。如果Date1 <現在再添加一個星期。 –

回答

6
  • 設置日曆下週。這將使日曆提前一週。

    Calendar mCalendar = Calendar.getInstance(); 
    int i = mCalendar.get(Calendar.WEEK_OF_MONTH); 
    mCalendar.set(Calendar.WEEK_OF_MONTH, ++i); 
    
  • 然後查找下一個星期幾易

    /** Now get nExt week days **/ 
    int dayvalues=mCalendar.get(Calendar.DAY_OF_WEEK);