首页 > 解决方案 > 在java中显示阿拉伯时间

问题描述

我需要以以下格式显示阿拉伯时间:

如果时间低于时间:

有没有办法使用 java API 以这种格式显示时间?

我目前得到这个:م 04:00

标签: javajava-time

解决方案


首先将您的文本放入一个数组中:

private static final String[] arabicTimeOfDay = { "منتصف الليل", "صباحًا", "ظهرًا", "مساءً" };

然后像这样使用你的数组:

    LocalTime time = LocalTime.now(ZoneId.of("Europe/Kiev"));
    int quarterOfDay = time.getHour() / 6;
    System.out.println("" + time + ' ' + arabicTimeOfDay[quarterOfDay]);

刚刚运行(基辅 13:48)它打印:

13:48:55.590

像我一样将一天中的小时除以 6 可能有点死板和粗粒度。您可能希望改为设置切换时间并检查每个以找到适当的间隔,然后使用该间隔的文本。例如,这将允许将晚上的开始时间提前或推迟一小时。使用LocalTime.isBeforeLocalTime.isAfter比较一天中的时间。


推荐阅读