默认情况下,方法java.util.Date.toString()
会显示哪个时区?由于Java Date
将给定日期存储在UTC中且不包含任何显式时区,Date.toString()
只显示主机的默认时区,或TimeZone.getDefault()
?
答案 0 :(得分:15)
它使用TimeZone.getDefault()
显示,而Date
将默认为其运行的操作系统的时区(即主机)。所以在实践中,它们将是同一件事
请注意,Java日期并不是真正的日期! 即时,由纪元开始以来的毫秒偏移量表示< / em>的。它仍然包含引用年,月等的方法,但这些方法都已弃用。您绝不应该使用Calendar
对象,就好像它是一个日期一样。
使用Date
(虽然这可能比{{1}}更加破碎)或像JODA这样体面的图书馆。
答案 1 :(得分:1)
是否显示默认时区 对于主持人,或 TimeZone.getDefault()?
后者(除非你在某处明确地设置它,否则与前者相同)。但是,这是从源代码中发现的信息,因此应将其视为实现细节。如果您想要特定的可重复行为,您应该自己实现它。