我有一个在夏令时期间从今年夏天开始的Java Date
。例如:Java日期,使用特定的日光模式进行渲染
2009年6月1日上午06点PDT
我的问题是,我怎么显示这个日期作为我的本地时区和当前夏令模式(在我的情况太平洋标准时间)?
2009年6月1日上午05点PST
Java的Date.toString()
和SimpleDateFormat
显示在原夏令模式的日期。例如:
System.out.println(new Date(1243861200000L));
输出:
周一6月1日6时〇〇分00秒PDT 2009
DateFormat dateFormat = new SimpleDateFormat("MMM dd, yyyy hh:mm aa zzz");
dateFormat.setTimeZone(TimeZone.getTimeZone("PST"));
System.out.println(dateFormat.format(new Date(1243861200000L)));
输出:
2009年6月1日06: 00 AM PDT
我真正想看到的是PST上午5:00(相当于上午6:00 PDT)。有没有办法强制它使用另一种夏令时模式?
跟进:顺便说一下,这是Windows XP的行为。在6月1日上午6点创建的文件将在冬季的6月1日上午5点(由资源管理器,命令提示符等)显示。
这是强制性的,每当有人提到关于Java中的日期以提及乔达时间的问题时。我不知道它是否会做你想要的,但它是强制性的。 – 2009-11-19 01:36:23
我认为有人没有直接的头。谁在问这个?这个不成立。日期/时间在DSMode中是固定的,并且仅随TZ(地理位移)而变化。 – Don 2009-11-19 01:59:59