您好有什么方法可以检查给定的字符串是否是 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() 的数字都是无效的。
慕田峪4524236
TA贡献1875条经验 获得超5个赞
没有,但这是该方法的实现:
public static boolean isEpochMillis(long epochMilli) { return true; }
当然,既然您看到了它的实现,您可能会发现这个方法是不必要的。
繁花不似锦
TA贡献1851条经验 获得超4个赞
epochMilli 是自 1970-01-01 以来的毫秒数。所有长值都是有效的 epochMillis。归结为您允许的日期。那将是你的范围。
-2 将导致1969-12-31T23:59:59.998 Z。
添加回答
举报
0/150
提交
取消