为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查给定的字符串转换为 long 是否是 EpochMills?

如何检查给定的字符串转换为 long 是否是 EpochMills?

Helenr 2023-05-10 14:25:01
您好有什么方法可以检查给定的字符串是否是 epoch millisjava.time 包中的以下代码转换为 EpochMillis。我正在寻找 isEpochMillis 以返回布尔条件。是否有来自 apache commons 或 google guava 的现成的 api 来检查这个?就像 isDouble isLong 等.../**     * Obtains an instance of {@code Instant} using milliseconds from the     * epoch of 1970-01-01T00:00:00Z.     * <p>     * The seconds and nanoseconds are extracted from the specified milliseconds.     *     * @param epochMilli  the number of milliseconds from 1970-01-01T00:00:00Z     * @return an instant, not null     * @throws DateTimeException if the instant exceeds the maximum or minimum instant     */    public static Instant ofEpochMilli(long epochMilli) {        long secs = Math.floorDiv(epochMilli, 1000);        int mos = (int)Math.floorMod(epochMilli, 1000);        return create(secs, mos * 1000_000);    }
查看完整描述

3 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

任何正整数在理论上都是有效的。您可以根据自己对领域的了解添加约束。例如:未来没有时间戳,因此所有大于 Instant.now().toEpochMillis() 的数字都是无效的。



查看完整回答
反对 回复 2023-05-10
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

没有,但这是该方法的实现:

public static boolean isEpochMillis(long epochMilli) { 
  return true; 
}

当然,既然您看到了它的实现,您可能会发现这个方法是不必要的。


查看完整回答
反对 回复 2023-05-10
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

epochMilli 是自 1970-01-01 以来的毫秒数。所有长值都是有效的 epochMillis。归结为您允许的日期。那将是你的范围。

-2 将导致1969-12-31T23:59:59.998 Z。


查看完整回答
反对 回复 2023-05-10
  • 3 回答
  • 0 关注
  • 173 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信