我想将时间段存储在数组列表中。我有开始时间和结束时间。根据开始时间,它应该创建时间段。
例如,如果开始时间是 09:00AM,结束时间是 21:00PM,那么它应该添加到 arraylist 中,如下所示
上午 09:00
10:00 AM
11:00 AM
12:00 PM
13:00 下午
14:00 下午
..... 很快
21:00 下午
因此,一个用户预订了 13:00PM 至 15:00PM 的时段,因此该时段不应可供其他用户使用,并且其他时段应该可用。如何将已预订时间与新数组列表进行比较。
Code
private void getStartHourArray() {
times = new ArrayList<TimeSlot>();
Calendar calender = Calendar.getInstance();
calender.setTimeZone(TimeZone.getTimeZone("Asia/Calcutta"));
int ti = calender.get(Calendar.HOUR_OF_DAY);
int minutes = calender.get(Calendar.MINUTE);
System.out.println(minutes);
String[] quarterHours = {
"00",
"30",
};
boolean isflag = false;
times = new ArrayList<>();
for (int i = 9; i < 22; i++) {
if (ti > 8) {
for (int j = 0; j < 2; j++) {
if ((i == ti && minutes < Integer.parseInt(quarterHours[j])) || (i != ti) || isflag == true) {
isflag = true;
String time = i + ":" + quarterHours[j];
if (i < 10) {
time = "0" + time;
}
String hourFormat = i + ":" + quarterHours[j];
if (i < 12) {
hourFormat = time + " AM";
} else
hourFormat = time + " PM";
TimeSlot t = new TimeSlot();
t.time = hourFormat;
t.isAvailable = "Available";
times.add(t);
}
}
}
}
if (times != null) {
load.setVisibility(View.GONE);
}
}
时隙模型类
public class TimeSlot {
public String time;
public String isAvailable;
}
尝试这样的事情:
String firstDate = "26/02/2019";
String firstTime = "00:00 AM";
String secondDate = "26/02/2019";
String secondTime = "12:00 PM";
String format = "dd/MM/yyyy hh:mm a";
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date dateObj1 = sdf.parse(firstDate + " " + firstTime);
Date dateObj2 = sdf.parse(secondDate + " " + secondTime);
System.out.println("Date Start: "+dateObj1);
System.out.println("Date End: "+dateObj2);
long dif = dateObj1.getTime();
while (dif < dateObj2.getTime()) {
Date slot = new Date(dif);
System.out.println("Hour Slot --->" + slot);
dif += 3600000;
}
这将为您提供每小时的时间段,将其添加到 ArrayList 中,当任何用户选择时间时,然后从 ArrayList 中删除该时间段并更新到服务器,以便下次使用时
用户尝试获取数据时,它不会获取第一个选定的用户时隙。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)