Date.toString()显示什么时区?

时间:2010-11-16 21:34:26

标签: java date timezone

默认情况下,方法java.util.Date.toString()会显示哪个时区?由于Java Date将给定日期存储在UTC中且不包含任何显式时区,Date.toString()只显示主机的默认时区,或TimeZone.getDefault()

2 个答案:

答案 0 :(得分:15)

它使用TimeZone.getDefault()显示,而Date将默认为其运行的操作系统的时区(即主机)。所以在实践中,它们将是同一件事

请注意,Java日期并不是真正的日期! 即时,由纪元开始以来的毫秒偏移量表示< / em>的。它仍然包含引用等的方法,但这些方法都已弃用。您绝不应该使用Calendar对象,就好像它是一个日期一样。

使用Date(虽然这可能比{{1}}更加破碎)或像JODA这样体面的图书馆。

答案 1 :(得分:1)

  

是否显示默认时区   对于主持人,或   TimeZone.getDefault()?

后者(除非你在某处明确地设置它,否则与前者相同)。但是,这是从源代码中发现的信息,因此应将其视为实现细节。如果您想要特定的可重复行为,您应该自己实现它。