JAVA TimeZone发行EDT对EST

ViV*_*ViV 9 java timezone dst

我是java的新手,因此很长一段时间以来都无法解决这个问题.

我使用的是Windows XP,机器设置为TimeZone:Eastern Time(美国和加拿大).

我有一个Java应用程序,它获取当前系统时间和时区信息,并将如下字符串:20101012 15:56:00 EST写入文件.

上面的最后一条日期,即:时区,随着我改变系统日期,从EST变为EDT.

准确:从11月(例如:2009年11月)到3月(2010年3月),它是EST,否则是EDT.

EST是什么,我想总是不EDT.

是否有任何特定的类/功能,我总是可以将其作为EST读取?

等待回复.


谢谢你的回复.好吧,我忘了提几件事.

  1. 我希望我的机器设置为:在Windows时区设置中的东部时间(美国和加拿大).

  2. 简单来说,我想做的是:获取我的机器时间,并将其写入文本文件

  3. 我知道从3月到11月发生的夏令时.

但问题是,当我将机器时间写入文件时,如果不存在夏令时(DST),则写为2010 01 12 15:56:00美国东部时间,如果是夏令时,则为20101012 15:56:00当下.我担心的是,无论是否是夏令时,我都想写EST.

Mik*_*iak 3

我认为你不应该按照你的建议去做。

您是说,无论您的系统当前时区是什么(东部时间不是您的时区,而是 UTC+5 或 +4),您都希望它显示 EST。这显然是错误的。假设现在是夏天,您的计算机认为本地时间是 2010/6/15 15:00。您打印当前时间并得到:

我打印此内容的时间为: 2010 06 15 15:00:00 EDT

无论出于何种原因,您认为 EDT 令人不快,因此您将其更改为 EST:

我将此打印于: 2010 06 15 15:00:00 EST

但是,如果您在接下来的一个小时内将该片段发送给其他人,他们将被迫认为您来自未来!自美国东部时间 15:00:00 起为美国东部时间 16:00:00。