0

我正在将当前日期转换为 GMT 时间。

结果不一致,因此我的日期时间计算正在磨损。

            DateTimeFormat df = DateTimeFormat.getFormat("dd MMM yyyy hh:mm:ss");
            String gmtStr = new Date().toGMTString().replace("GMT", "").trim();
            long deptime= depTime - df.parse(gmtStr).getTime();
            deptime = deptime / 1000;
            seconds = (deptime % 60);
            minutes = (deptime % 3600) / 60;
            hours = (deptime / 3600);
4

1 回答 1

2

不确定最好的方法是什么,但你可以使用getTimezoneOffsert

final Date gmtDate = new Date();
final Date offDate = new Date(gmtDate.getTime() + gmtDate.getTimezoneOffset() * 60 * 1000);

显示offDateDateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_LONG) 仍将显示 utc/gmt 偏移量,因为基本上您已经在当前时区创建了一个新时间,但它与 GMT 时间的时间匹配,并且返回的 long 值getTime()将是您可以使用的毫秒数在你的计算中。

于 2012-03-16T14:44:11.757 回答