Java 无毫秒日历与毫秒为0的日历
我不知道如何分辨一个Java 无毫秒日历与毫秒为0的日历,java,calendar,timestamp,milliseconds,java.util.calendar,Java,Calendar,Timestamp,Milliseconds,Java.util.calendar,我不知道如何分辨一个日历对象是在没有毫秒的情况下创建的,还是在毫秒恰好为0的情况下创建的日历对象 我需要区分时间戳 2018 04 30 13:44:55 -0500 and 2018 04 30 13:44:55.000 -0500 后者显示时钟以毫秒为分辨率报告时间,而前者仅以秒为分辨率报告时间。因此,在后一种情况下,我想显示“000”,但在前一种情况下,我不想显示 Calendar.get(Calendar.millises)=0显然不能解决此问题。有什么想法吗?日历::isSet(in
日历
对象是在没有毫秒的情况下创建的,还是在毫秒恰好为0的情况下创建的日历对象
我需要区分时间戳
2018 04 30 13:44:55 -0500
and
2018 04 30 13:44:55.000 -0500
后者显示时钟以毫秒为分辨率报告时间,而前者仅以秒为分辨率报告时间。因此,在后一种情况下,我想显示“000”,但在前一种情况下,我不想显示
Calendar.get(Calendar.millises)=0显然不能解决此问题。有什么想法吗?日历::isSet(int)
方法将测试是否设置了特定字段。上下文是什么?是否可以避免使用Calendar
,并对新的时间类使用LocalDateTime
?:LocalDateTime.isSupported(ChronoField.milliu OF_SECOND)
@JoopEggen,它将始终返回trueLocalDateTime
具有NanoSonCDS的精度。总是这样,布莱恩,在什么情况下你需要这个?我在想,如果您正在解析一个日期时间字符串,该字符串中有毫秒或没有毫秒,并且您需要返回相同的字符串,那么除了(我建议的)OffsetDateTime
对象之外,您可以保留该字符串。这是多余的,但可以解决你的问题吗?(Calendar类早已过时,设计也很糟糕,所以我会避免这种情况。)目前我对Calendar有些执着,因为我需要使用它。事实上,新的GregorianCalendar(2018,Calendar.一月,22,23,59,48)。isSet(Calendar.millis秒)
会产生false
。是的,我发现了这一点并尝试了一下,它确实解决了我的问题。我还必须做一些错误的堆栈溢出;我从未在我的电子邮件中收到任何对我的问题或评论的回复通知。。。虽然我相信我已经正确地为他们注册了。。。