【发布时间】:2018-10-17 06:53:50
【问题描述】:
我不知道如何判断 Calendar 对象是不是在没有毫秒的情况下创建的
我需要区分时间戳
2018 04 30 13:44:55 -0500
and
2018 04 30 13:44:55.000 -0500
后者显示时钟以毫秒为单位报告时间,而前者仅以秒为单位报告时间。所以在后一种情况下,我想显示“000”,但在前一种情况下,我不想。
Calendar.get(Calendar.MILLISECONDS) = 0 显然不能解决这个问题。关于如何做到这一点的任何想法?
【问题讨论】:
-
上下文是什么?可以避免使用
Calendar,并使用LocalDateTime吗? -
对于新的时间课程:
LocalDateTime.isSupported(ChronoField.MILLI_OF_SECOND) -
@JoopEggen 这将始终返回 true。
LocalDateTime具有纳米级精度。总是。 -
Brian,你需要这个的场景是什么?我在想,如果您正在解析一个包含毫秒或不包含毫秒的日期时间字符串,并且您需要返回相同的字符串,那么除了您的(如我推荐的)@987654328 之外,您可能只保留该字符串@ 目的。这是多余的,但可以解决您的问题吗? (
Calendar类早已过时且设计不佳,所以我会避免这种情况。) -
目前我有点卡在日历上,因为我需要使用它的库。
标签: java calendar timestamp milliseconds java.util.calendar