2017-09-15 65 views
0

我想开发一个应用程序,用户可以在其中分配 时间表给他们的小组成员,问题是假设我已经有 安排两个不同的时间,现在又想安排相同的时间 那么我将如何检查在相同的时间进度是不是已经 分配或不如何查看可用时间以添加新时间表?

Date Start Time End Time status 

15-09-2017 10:05 13:10 TRUE 
15-09-2017 10:00 14:00 FALSE because 10:00-13:10 is already scheduled 
15-09-2017 08:20 09:00 TRUe 
15-09-2017 09:30 10:05 TRUE 
15-09-2017 09:40 10:05 false ` 

回答

-1

我建议你的EPOCH时间格式。

您可以将您的日期+启动时间和日期+结束时间为遵循例如:

Start date : "15-09-2017 10:05" 
End date : "15-09-2017 13:10" 

之后,你把这个字符串转换EPOCH格式如下:

String str = "15-09-2017 10:05"; 
SimpleDateFormat df = new SimpleDateFormat("DD-mm-yyyy HH:mm"); 
Date date = df.parse(str); 
long epoch = date.getTime(); 

你为结束和开始日期做它。您必须在最后3个长变量:

long epochStartDate , epochEndDate, epochToBeInserted. 

和插入你计划之前,你比较

如果(epochToBeInserted在[epochStartDate,epochEndDate)=>插入假否则真。

+0

15-09-2017 10:00 14:00错误,因为10:00-13:10已经安排好了。如何使用你的例子检查这个条件? if(epochToBeInserted in [epochStartDate,epochEndDate]) –

+0

好吧,你看,你需要将15-09-2017 10:00 14:00转换成2个日期(开始和结束)的时代,你将有2个变量(long1, long2)之后,你转换10:00-13:10,你将有2个新的(var1,var2),然后你检查(long1,long2)之间的(var2-var1) – 2017-09-15 06:39:56