1

Androidのタイムスタンプから数日を減算したいと思います。

long型の日付フィールドを持つSQLiteデータベースがあります。date = date - (3 * 86400000)読み取り可能な日付に変換すると、結果として1時間の差が生じることがあると言うクエリを実行すると、

しかし、これはどのように可能ですか?それは私のタイムゾーンでの1時間の夏時間と関係がありますか?

2つの長い値を使用して計算を行っており、それらを日時に変換した後、夏時間の問題が発生しないはずなので、それが理由であるとしたら、奇妙だと思います。

4

2 に答える 2

0

返信ありがとうございますが、解決策を見つけました。タイムスタンプにミリ秒単位で日を追加すると、その間に夏時間の設定に時間差がある場合、日付が自動的に修正されるようです。

以下を実行すると、時間は無視されます。

Date d = new Date();
d.setDays(d.getDays() - 2);

ただし、より柔軟で操作が簡単な Joda ライブラリを使用することをお勧めします。

于 2012-10-29T12:29:36.307 に答える