如何在AndroidKotlin的列表中存储24小时格式

嘿,我想返回 24 小时时间范围的时间对象列表。这意味着我需要一个逻辑来获取从 00.00 到 23.00 的列表中的小时数。在列表中 [ 00.00 , 01.00 , 02.00 ,..... 23.00 ] 。如果我搜索特定的索引,例如

println(timeList[3])

它会回来

03.00.

如何通过Calendar对象或任何其他类实现此逻辑。有没有人知道如何获得这种类型的列表。

回答

使用可创建Listjava.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。

  • Looks like exactly what you need, @vivekmodi

以上是如何在AndroidKotlin的列表中存储24小时格式的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>