gpt4 book ai didi

android - 如何在android中给定的两个范围之间生成时间?

转载 作者:行者123 更新时间:2023-11-30 01:34:47 24 4
gpt4 key购买 nike

我正在用 android 开发一个应用程序。我被困在了这一点上:

用户使用微调器选择时间范围。然后它以特定时间间隔显示给定范围之间的时间。我尝试过并且进展顺利,但是在 12 点之后我们必须及时打印 1,但我无法做到。在下面添加一个示例。我不知道如何实现它。例如。如果用户选择 9-2 我们必须生成 like

9.00 9.30 10.00 10.30 11.00 11.30 12.00 12.30 1.00 1.30 2.00

有人能帮帮我吗?即使只是一个想法就足够了。如果您需要我的代码,我稍后会在此处添加。

最佳答案

这里是生成时间间隔 int 设置范围的代码。您只需要从 TimeIntervalHelper 调用方法。

代码如下:

public class TimeIntervalHelper {
public static void generateTimeInterval(final ArrayList<String> intervals, final int startHour, final boolean isStartHalf, int endHour, final boolean isEndHalf) {
final Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR, startHour);
calendar.set(Calendar.MINUTE, isStartHalf ? 30 : 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

endHour = endHour == 12 ? 0 : endHour;
while (calendar.get(Calendar.HOUR) != endHour)
intervals.add(getInterval(calendar));
intervals.add(getInterval(calendar));

if (isEndHalf)
intervals.add(getInterval(calendar));
}

public static void generateTimeInterval(final ArrayList<String> intervals, final int startHour, int endHour) {
generateTimeInterval(intervals, startHour, false, endHour, false);
}

private static String getInterval(final Calendar calendar) {
final String interval = String.format(
"%d.%02d",
calendar.get(Calendar.HOUR) != 0 ? calendar.get(Calendar.HOUR) : 12,
calendar.get(Calendar.MINUTE)
);
calendar.add(Calendar.MINUTE, 30);
return interval;
}
}

这是示例:

final ArrayList<String> intervals = new ArrayList<>();
TimeIntervalHelper.generateTimeInterval(intervals, 9, 2); // Generate from 9 to 2
TimeIntervalHelper.generateTimeInterval(intervals, 9, false, 2, true); // Generate from 9 to 2.30

关于android - 如何在android中给定的两个范围之间生成时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35239777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com