简单来说 如果通过todate方法拿到的对象是没有时区的信息,也就是丢了。。。
/* 这样写是错的。。。 date对象是没有保存美国时区的,您拿到的还是当地时区的时间 */
DateTime dt = new DateTime().withZone(DateTimeZone.forID("America/New_York")).todate();
/* 要这样,转为date之前,要先转为localdatetime */
DateTime dt = new DateTime().withZone(DateTimeZone.forID("America/New_York")).toLocalDateTime().toDate();