1

obj.dateUNIXタイムスタンプ(ロング)です。日付が正しいことを確認しましたが、2 つの日付オブジェクトの分単位の差を取得できません。たとえば、30 に近いものを期待しているときに 4 を取得します。なぜですか?

Date now = new Date();
Date then = new Date((long)obj.date*1000);

int secondsbetweendates = (int) ((then.getTime()-now.getTime())/1000);

int minutesbetweendates = (secondsbetweendates/1000) % 60;
4

1 に答える 1

3

秒を分に変換するには、60 で割ります。

int minutesbetweendates = secondsbetweendates / 60;

これは整数を返し、結果を切り捨てることに注意してください。つまり、完全な分のみがカウントされます。つまり、119 秒は 2 分ではなく 1 分になります。

また、時差が 1 時間以上ある場合は、60 より大きい数値が返される可能性があることにも注意してください。

于 2012-12-02T18:14:04.577 に答える