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);

基本的に現在のタイムゾーンで新しい時刻を作成しているため、で表示された場合 はutc / gmtオフセットがoffDate表示されますが、GMT時刻の時刻と一致し、から返される長い値は使用できるミリ秒数になりますあなたの計算で。DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_LONG)getTime()

于 2012-03-16T14:44:11.757 に答える