如何在android中获取两次之间的时间列表?

时间:2017-03-29 06:26:47

标签: android

嗨,我想得到两次之间的时间列表。

示例10 PM到6 AM

目前我上午6点到晚上10点但是晚上10点到早上6点没有工作

代码:

List<java.sql.Time> intervals = new ArrayList<>();
Calendar calStart = Calendar.getInstance();
calStart.set(calStart.HOUR_OF_DAY, 22);
calStart.set(calStart.MINUTE, 00);
calStart.set(calStart.AM_PM, Calendar.PM);


java.sql.Time startTime = new java.sql.Time(calStart.getTime().getTime());
Calendar calEnd = Calendar.getInstance();
calEnd.set(calEnd.HOUR_OF_DAY, 6);
calEnd.set(calEnd.MINUTE, 00);
calEnd.set(calEnd.AM_PM, Calendar.AM);


java.sql.Time endTime = new java.sql.Time(calEnd.getTime().getTime());
intervals.add(startTime);
Calendar cal = Calendar.getInstance();
cal.setTime(startTime);

while (cal.getTime().after(endTime)) {
     cal.add(Calendar.MINUTE, 15);
     intervals.add(new java.sql.Time(cal.getTimeInMillis()));
}

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.getDefault());
for (java.sql.Time time : intervals) {
    System.out.println(sdf.format(time));
}

请提出任何建议

1 个答案:

答案 0 :(得分:1)

从晚上10点到早上6点,请务必添加一天。或者你将在3月29日晚上10点到3月29日早上6点,而你想要在3月30日早上6点。

 calendar.add(Calendar.DATE, 1);