我的用例——我是一名医生。在某一天,我可以工作几个小时,但有些时间不可用。我想创建一个对象“周期我的工作日”。当有人预约上午8点到9点(即“周期病人1预约”)时,该时段将从我的工作日“删除”。当新患者访问myWorkDay时,他只看到myWorkDay-病人1约会。如果病人1释放了他的时隙,那么新患者会看到完整的myWorkDay。
有可能使用JodaTime做到这一点吗?
有一个额外的要求是不必要的。但是,如果你知道怎么做,请告诉我。
额外-定义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);
}
}
JODA代表日期和时间,所以在回答您的问题时,可以使用JODA在某种程度上对此进行建模。但你需要用不仅仅是JODA的东西来建模问题域。
你基本上是在做Outlook日历之类的事情。Java中已经使用了日历,所以可以称之为日记。一本简单的日记就能知道你的工作日是哪几天,你的工作时间是什么(开始时间、结束时间)。
您可能希望将日志表示为日/周/月块。现在,您可以确定每天是否为工作日,以及工作时间。
然后,您将想要表示一个约会。最简单的约会有日期、开始时间和结束时间、与会者。您可以添加其他内容,如描述、状态(忙等)。)。
当有人创建新约会时,你可以检查它的开始/结束时间是否与现有约会冲突。
因此,从这个领域驱动的设计开始,我们可以说您可能有以下数据/实体。
这将为您提供有关数据和对象模型以及主数据关系的线索。没有理由不能用标准类或JODA实现这一点。
问题内容: 我需要知道是否由以下时间段定义: 内部有一个DST。 我正在遍历{start,end}定义的时间段集合,并在每次迭代中将开始和结束时间提前24小时。结果周期从午夜开始,到下一个午夜之前的1 ms结束。我发现如果该期间在班次内有夏令时,则会产生错误的结果,例如: 具有: 然后完成转移: 产生: 我想知道JodaTime中是否有任何标准API可以检查一段时间内是否有DST? 问题答案: 使
本文向大家介绍C ++中两个给定时间段之间的差异,包括了C ++中两个给定时间段之间的差异的使用技巧和注意事项,需要的朋友参考一下 问题陈述 以字符串'HH:MM:SS'格式给出两个时间段。在这里,“ HH”代表小时,“ MM”代表分钟,“ SS”代表秒。找到这两个时间段之间相同字符串格式的差异。 示例 以下是C ++中的程序,用于查找所需的输出。 输出结果
我试图解决以下问题:给定N个时间间隔,每个时间间隔指定为(开始,结束),不重叠,根据开始排序——找到一个包含给定日期的时间间隔。例如: 3人进入第一节,15人进入第四节,以此类推。 到目前为止,我有以下基本想法: 我们可以使用二进制搜索来找到相应的间隔(logn) 由于可能只有少数时间间隔较大,其余时间间隔较小,因此根据时间长短对itervals进行排序可能是值得的。然后,在统计上,大多数情况下,
问题内容: 使用SQL时,是否可以在提供范围的列中插入随机的datetime值? 例如,给定范围为 我对范围部分感到困惑。正如我将要做的 问题答案: 这是一个应该有所帮助的示例: 它使用日期作为基础,将其转换为Unix时间戳,并向基础日期添加0到+2年的随机秒数,并将其转换回DATETIME。 它应该很接近,但在更长的时间内会leap年,其他调整会使其失效。
我在我的项目中使用了Spring Boot,Spring Data,JPA(Hibernate)和MySQL。这是我的存储库界面中的方法签名: 当我检查SQL日志时,我可以看到“for共享”子句被附加到选择语句中。 这是MySQL文档中关于共享锁的一段引文: 如果这些行中的任何一行被尚未提交的另一个事务更改,您的查询将等待该事务结束,然后使用最新值。 我实际上可以通过从另一个线程更新该书来触发阻塞
我试图在while循环中执行try-catch块。当我要求用户输入一个数字(应该是双精度的)时,我使用try-catch来捕获任何输入不匹配异常。我将其嵌套在while循环中,这样如果捕获到任何异常,用户可以根据需要重新输入输入。问题在于,如果捕获到异常,扫描仪将不允许用户出于某种原因重新输入输入。在第二次迭代中,当您返回到hours=kb.nextDouble的行时,会发现错误。这是代码。