Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无毫秒日历与毫秒为0的日历_Java_Calendar_Timestamp_Milliseconds_Java.util.calendar - Fatal编程技术网

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,它将始终返回true
LocalDateTime
具有NanoSonCDS的精度。总是这样,布莱恩,在什么情况下你需要这个?我在想,如果您正在解析一个日期时间字符串,该字符串中有毫秒或没有毫秒,并且您需要返回相同的字符串,那么除了(我建议的)
OffsetDateTime
对象之外,您可以保留该字符串。这是多余的,但可以解决你的问题吗?(Calendar类早已过时,设计也很糟糕,所以我会避免这种情况。)目前我对Calendar有些执着,因为我需要使用它。事实上,
新的GregorianCalendar(2018,Calendar.一月,22,23,59,48)。isSet(Calendar.millis秒)
会产生
false
。是的,我发现了这一点并尝试了一下,它确实解决了我的问题。我还必须做一些错误的堆栈溢出;我从未在我的电子邮件中收到任何对我的问题或评论的回复通知。。。虽然我相信我已经正确地为他们注册了。。。