0

私の Android アプリケーションでは、時間/分/および PM または AM 用に 3 つのスピナーがあります。ユーザーが眠るのに必要な時間を得るために、それに 7.5 時間を追加したいと思います。私のこの Android アプリケーションは、ユーザーの睡眠の計算機です。たとえば、午前 7 時に起きたいとします。午後 11 時 15 分までに、あなたはもう寝ているはずです。これを行う方法についていくつかの指示を教えてください。私は緊急に助けが必要です。ありがとう。あなたの助けに感謝。

このような:

  /**
   * Get sleeping times corresponding to a local time
   * 
   * @param wakingTime
   *            time to wake up !
   * @return list of times one should go to bed to
   */

  public static Set<Date> getSleepingTimes(Date wakingTime) {

    Set<Date> result = new TreeSet<Date>();
    Calendar calendar = Calendar.getInstance();
    calendar.setTime( wakingTime );
    calendar.add( Calendar.MINUTE, -14 );
    calendar.add( Calendar.MINUTE, -( 2 * 90 ) );
    for ( int i = 3; i <= 6; i++ ) {
      calendar.add( Calendar.MINUTE, -90 );
      result.add( calendar.getTime() );
    }
    return result;

  } // end of getSleepingTimes method
4

2 に答える 2

1
public static Date getSleepingTimes(Date wakingTime) {

    Calendar calendar = Calendar.getInstance();
    calendar.setTime( wakingTime );
    calendar.add(Calendar.HOUR,-7);
    calendar.add(Calendar.MINUTE,-30);

    return calendar.getTime();

}

ただし、7.5 時間をハードコーディングしない方がよいでしょう。

public static Date getSleepingTimes(Date wakingTime, int hoursToSleep, int minutesToSleep) {

    Calendar calendar = Calendar.getInstance();
    calendar.setTime( wakingTime );
    calendar.add(Calendar.HOUR,-hoursToSleep);
    calendar.add(Calendar.MINUTE,-minutesToSleep);

    return calendar.getTime();

}

次のように使用します。

   getSleepingTime(wakingTime, 7, 30);
于 2012-10-13T13:18:16.550 に答える
0

TimePickerコンポーネントを使用します。方法があります

  • getCurrentHour
  • getCurrentMinute

  • setCurrentHour
  • setCurrentMinute

追加の時間を追加するために使用できます。

final TimePicker timePicker = (TimePicker) findViewById(R.id.a_time_picker);
int hour = timePicker.getCurrentHour();
int minute = timePicker.getCurrentMinute();
timePicker.setCurrentHour(hour + 7);
timePicker.setCurrentMinute(minute + 30);

AM/PM の問題を自分で解決する必要があります。

将来のために: 開発している Android SDK レベルを提供してください。

于 2012-10-13T12:54:18.103 に答える