【发布时间】:2016-03-01 16:13:46
【问题描述】:
我有一个时区,我有:
TimeZone tz = TimeZone.getTimeZone("GMT-05:00"); 日历 c = Calendar.getInstance(tz);
如何从该时区获取具有正确时间的DateTime 对象?
如果我这样做c.getTime(),我会得到当前时间,而不是那个时区的时间。
在做
String time = String.format("%02d" , c.get(Calendar.HOUR_OF_DAY))+":"+
String.format("%02d" , c.get(Calendar.MINUTE))+":"+
. String.format("%02d" , c.get(Calendar.SECOND))+":"+
. String.format("%03d" , c.get(Calendar.MILLISECOND));
我得到了预期的时间,但我无法从此字符串创建有效的DateTime 对象。
我该如何解决这个问题?
【问题讨论】:
-
您使用哪个版本的 Java? 8个或更少?
-
你提到了jodatime作为标签;你真的使用它吗?您的代码仅依赖于旧 API
-
如果您希望
DateTime有一个时区,您需要使用DateTimeZone将该时区设置为DateTime。你为什么要把java.util.Calendar和 Joda-Time 混在一起? -
@fge:是的,如果 JodaTime 有解决方案,我可以使用它。
-
@RealSkeptic:我正在使用通过搜索找到的代码。有没有更好/另一种方法?