Cole par mer:检查Antemerdiem和 postmerdiem

关于Cole par mer的问题,在ante post meridiem中经常遇到, 我已经习惯了 Java 8 提供的 LocalTime,用于在以下代码中将时间从 1-24 格式格式化为 1-12 格式。

我已经习惯了 Java 8 提供的 LocalTime,用于在以下代码中将时间从 1-24 格式格式化为 1-12 格式。

String  localTime = LocalTime.p("08:59:00", DateTimeFormatter.ofPattern("HH:mm:ss"))
            .format(DateTimeFormatter.ofPattern("hh:mm:ss a"));

现在用的代码,我有 1-12 小时格式

LocalTime localTime1 = LocalTime.p(localTime, DateTimeFormatter.ofPattern("hh:mm:ss a"));

我的问题是“是否有 LocalTime 提供的任何 API 方法”从给定的时间获取 ante 或 post。或者如何使用干净的 API 获取,而不是使用 slice 和 cut 操作字符串。

2

我不确定这个的优雅,但如果你想获得一个代表 AM 或 PM 的布尔值,你可以这样做:

boolean isPM = localTime.getHour() >= 12;

如果时间为 AM,则此变量isPM将为false,而 PM 为true

2

是否有 LocalTime 提供的 API 方法

方法是get,我们需要将其与ChronoField.AMPM_OF_DAY枚举常数结合使用,它将 ante meridiem 编码为 0,将 post meridiem 编码为 1。

    int amPmOf1159 = LocalTime.of(11, 59).get(ChronoField.AMPM_OF_DAY);
    System.out.println(amPmOf1159);
    int amPmOf1200 = LocalTime.of(12, 0).get(ChronoField.AMPM_OF_DAY);
    System.out.println(amPmOf1200);

输出是:

0
1

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(505)
总管家云crm:从CRM迁移到云365.RibbonWorkbench导出解决方案
上一篇
电脑c盘太小怎么办:如果K折交叉验证中的K太小怎么办
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(17条)