Datetime 如何使用jodatime库在日期字段中设置时区

Datetime 如何使用jodatime库在日期字段中设置时区,datetime,java-7,jodatime,Datetime,Java 7,Jodatime,我正在使用JodaTime2库创建具有给定时区的日期对象,如下所示: import org.joda.time.DateTime; import org.joda.time.DateTimeZone; DateTimeZone tz = DateTimeZone.forID("America/New_York"); System.out.println("timezone=" + tz); Date d = new DateTime(2013, 1, 1, 0, 0, tz).toDate()

我正在使用JodaTime2库创建具有给定时区的日期对象,如下所示:

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;

DateTimeZone tz = DateTimeZone.forID("America/New_York");
System.out.println("timezone=" + tz);
Date d = new DateTime(2013, 1, 1, 0, 0, tz).toDate();
System.out.println("Cur Date = " + d);
但是,当我打印此日期时,报告的时区为CST。我错过了什么

timezone=America/New_York
Cur Date = Tue Jan 01 13:00:00 CST 2013

您正在打印日期对象的值
Date
没有时区-
Date.toString()
始终只使用“默认”时区。一个
日期
只是Unix时代以来的毫秒数;它不知道日历或时区

您应该只停留在Joda Time world内,或者(如果必须)使用
SimpleDataFormatter
日期
转换为
字符串
——您可以在格式化程序上设置时区