java - 在java中显示阿拉伯时间
问题描述
我需要以以下格式显示阿拉伯时间:
如果时间低于时间:
- 早上 6:00 到 11:59 然后使用صباحًا (am)
- 12:00 至 18:00 ظهرًا(中午)
- 18:00 24:00 مساءً(晚上)
- 24:00 الليل(午夜)
有没有办法使用 java API 以这种格式显示时间?
我目前得到这个:م 04:00
解决方案
首先将您的文本放入一个数组中:
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.isBefore
和LocalTime.isAfter
比较一天中的时间。
推荐阅读
- reactjs - 跟踪反应路由器的 url 中的字符串匹配
- fortran - 将fortran代码分成子程序的缺点及其对速度的影响?
- pytest - 如何使用 pytest-html 在 HTML 中嵌入 base64 图像?
- customization - Acumatica 通用查询添加到查询菜单(自动化步骤)
- c++ - 玩家移动和碰撞之间的交互问题
- machine-learning - sklearn 的 cross_val_score 函数需要澄清
- spring-mvc - 在spring mvc中获取带有模型字段的文件
- php - angular.callbacks 到字符串 PHP?
- javascript - 无法模拟用于 react-inlinesvg Jest 测试的图标
- ip - 欧洲的GCE VM拥有美国IP