1

2つの日付の差を計算する必要があります。これが私のコードです:

        System.out.println("date1  "+date1);
        System.out.println("date2  "+date2);

        totalDifference=date2.getSeconds()-date1.getSeconds();

        System.out.println("Total Difference is"+totalDifference);

私が直面している問題は、結果が0であるということです。

 09-24 17:24:53.839: I/System.out(9317): date1  Wed Aug 15 00:00:00 GMT+05:30 2012
 09-24 17:24:53.839: I/System.out(9317): date2  Mon Sep 24 17:24:00 GMT+05:30 2012
 09-24 17:24:53.839: I/System.out(9317): Total Difference is 0

私が間違っていることは何ですか?

ソリューションやその他の貴重なリソースをありがとうございます。この質問についても助けてください。 8月31日23:59:00と次の日付9月1日00:02:00に入ると、レコードを1日として表示する必要があります。これのために私を助けてください

4

5 に答える 5

1

このdate.getSeconds()メソッドは、その日付オブジェクトの秒を返します。

あなたの場合、両方の日付は00秒なので、差は0です。

を使用する必要がありますdate.getTime()

于 2012-09-24T12:03:29.940 に答える
1

getSeconds()は日付の秒を返すので、例では、

date1水8月15日00: 00 : 00GMT+ 05:30 2012

date2月9月24日17:24: 00GMT + 05:30 2012

どちらの場合も、日付の2番目は0です。違いが必要な場合は、次の例があります。

Android /Java-日数の日付の違い

于 2012-09-24T12:09:33.000 に答える
0

getTime()メソッドonを使用java.util.Dateしてミリ秒単位で日付を取得し、それを使用して2つの変数の違いを見つけjava.util.Date、より正確な違いを取得できます。

于 2012-09-24T12:03:40.903 に答える
0

このシナリオの最良の例をここに示します。それはのようなものが含まれています

Calendar calendar1 = Calendar.getInstance();
  Calendar calendar2 = Calendar.getInstance();
  calendar1.set(2007, 01, 10);
  calendar2.set(2007, 07, 01);
  long milliseconds1 = calendar1.getTimeInMillis();
  long milliseconds2 = calendar2.getTimeInMillis();
  long diff = milliseconds2 - milliseconds1;
  long diffSeconds = diff / 1000;
  long diffMinutes = diff / (60 * 1000);
  long diffHours = diff / (60 * 60 * 1000);
  long diffDays = diff / (24 * 60 * 60 * 1000);
  System.out.println("\nThe Date Different Example");
  System.out.println("Time in milliseconds: " + diff
 + " milliseconds.");
  System.out.println("Time in seconds: " + diffSeconds
 + " seconds.");
  System.out.println("Time in minutes: " + diffMinutes 
+ " minutes.");
  System.out.println("Time in hours: " + diffHours 
+ " hours.");
  System.out.println("Time in days: " + diffDays 
+ " days.");

最初にあなたの問題をグーグルしてみてください:)

于 2012-09-24T12:08:44.597 に答える
0

以下のコードを参照して、必要に応じて小さな変更を加えてください。

package com.datediff;

import java.util.Calendar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

public class DateDiffActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Calendar thatDay = Calendar.getInstance();
    thatDay.set(Calendar.DAY_OF_MONTH,24);
    thatDay.set(Calendar.MONTH,7); // 0-11 so 1 less
    thatDay.set(Calendar.YEAR, 2012);

    Calendar today = Calendar.getInstance();

    long diff = today.getTimeInMillis() - thatDay.getTimeInMillis(); 

    Toast.makeText(getApplicationContext(), diff+"", Toast.LENGTH_LONG).show();

    }
}
于 2012-09-25T10:00:46.233 に答える