嘿,我想返回 24 小时时间范围的时间对象列表。这意味着我需要一个逻辑来获取从 00.00 到 23.00 的列表中的小时数。在列表中 [ 00.00 , 01.00 , 02.00 ,..... 23.00 ] 。如果我搜索特定的索引,例如
println(timeList[3])
它会回来
03.00.
如何通过Calendar对象或任何其他类实现此逻辑。有没有人知道如何获得这种类型的列表。
使用可创建List
的java.time.LocalTime
。
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<LocalTime> list = new ArrayList<>();
for (int i = 0; i < 24; i++) {
list.add(LocalTime.of(i, 0));
}
System.out.println(list.get(3));
}
}
输出:
03:00
进一步了解java.time
,在现代日期时间API *从开拓者:日期时间。
使用旧版 API:
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
public class Main {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
List<String> list = new ArrayList<>();
for (int i = 0; i < 24; i++) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, i);
calendar.set(Calendar.MINUTE, 0);
list.add(sdf.format(calendar.getTime()));
}
System.out.println(list.get(3));
}
}
* 出于任何原因,如果您必须坚持使用 Java 6 或 Java 7,您可以使用ThreeTen-Backport,它将大部分java.time功能向后移植到 Java 6 和 7。如果您正在为 Android 项目和您的 Android API 工作级别仍然不符合 Java-8,请检查通过 desugaring和How to use ThreeTenABP in Android Project可用的 Java 8+ APIs。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句