【发布时间】:2016-11-30 00:52:15
【问题描述】:
我有下面的代码
final DateTimeFormatter COMBINED_FORMAT = ISODateTimeFormat.dateTimeParser().withZone(
DateTimeZone.UTC);
System.out.println(COMBINED_FORMAT.parseDateTime("2012-04-01T00:00:00.000").toDate());
结果是 Sun Apr 01 05:30:00 IST 2012 我希望这会返回 Sun Apr 01 00:00:00 IST 2012
我怎样才能得到这个?
【问题讨论】:
-
如果您希望时区为 IST,为什么要使用 UTC?如果您使用 IST 时区会发生什么?如果您在 IST 时区,为什么要设置它?
-
你在解析的
DateTime上调用toDate(),它返回一个java.util.Date;当你打印这个时,它总是在你当地的时区打印。请注意,java.util.Date不记得任何时区信息。 -
"印度标准时间 (IST) 比协调世界时早 5:30 小时。"来自timeanddate.com/time/zones/ist。 ;)
-
@PeterLawrey,这是一个独立的应用程序,我有一个在不同时区运行的项目。所以我想要的结果是 Sun Apr 01 00:00:00 IST 2012
-
@PeterLawrey jsr310(或任何 toDate 方法)中没有 ISODateTimeFormat,但在 jodatime 中有,所以我怀疑问题是关于 Joda。
标签: java datetime jodatime datetime-format java-6