私のユースケース - 私は医者です。ある日、私は何時間か、UN は何時間か利用できます。オブジェクト期間 myWorkDay を作成したいです。誰かが午前 8 時から午前 9 時までの予定 (つまり、期間の患者 1 の予定) を確定すると、その期間は myWorkDay から「削除」されます。新しい患者が myWorkDay にアクセスすると、myWorkDay -patient1Appointment のみが表示されます。患者 1 が自分のタイム スロットを解放すると、新しい患者には完全な myWorkDay が表示されます。
JodaTime を使用してこれを行うことは可能ですか?
必要ではない追加の要件があります。とありますが、どうすればできるのかご存知でしたら教えてください。
Extra - myWorkDay で特定の期間のタスクを定義して実行します。例えば。8-9 ピリオド (8-8:30 歯を削る、8:30 - 8:45 歯を磨く、8:45-9:00 事務処理を行い、9 時に別の患者を迎える)
import org.joda.time.*;
public class PeriodManager {
public static void main(String[]args){
DateTime startTime = new DateTime(2013, 7, 1, 9, 0);//(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour)
DateTime endTime = new DateTime(2013, 7, 1, 17, 0);// 9 to 5 (or 17) job :)
Period fullDay = new Period(startTime, endTime);
System.out.println("full day - " + fullDay);
startTime = new DateTime(2013, 7, 1, 9, 0);
endTime = new DateTime(2013, 7, 1, 10, 0);
Period patient1Appointment = new Period(startTime, endTime);//9-10
fullDay.minus(patient1Appointment);
System.out.println("full day - pat 1 " + fullDay);
startTime = new DateTime(2013, 7, 1, 9, 0);
endTime = new DateTime(2013, 7, 1, 10, 0);
Period patient1CancelAppointment = new Period(startTime, endTime);
fullDay.plus(patient1CancelAppointment);
System.out.println("full day + pat 1 " + fullDay);
startTime = new DateTime(2013, 7, 1, 9, 0);
endTime = new DateTime(2013, 7, 1, 10, 0);
Period patient2Appointment = new Period(startTime, endTime);
fullDay.minus(patient2Appointment);
System.out.println("full day - pat 2 " + fullDay);
}
}