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

How to store 24 Hour format in list in Android Kotlin

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

println(timeList[3])

会return

03.00.

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

使用可以创建 List of 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.timemodern date-time API* from Trail: Date Time

使用旧版 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 which backports most of the java.time functionality to Java 6 & 7. If you are working for an Android project and your Android API level is still not compliant with Java-8, check Java 8+ APIs available through desugaring and

kotlin 版本

fun main(){
    var l = mutableListOf<LocalTime>()
    (0..24).forEach {
        l.add(LocalTime.of(it,0))
    }
}