-1

重複の可能性:
2 つの Java 日付インスタンスの差の計算

HH:MM:SS 形式の文字列データ型の 2 つのテキスト ボックスに 2 つの日付値があります。それらの違いを見つけて、HH:MM:SS で結果を取得するにはどうすればよいですか?助けてください...できるだけ早く.... !

4

3 に答える 3

3

これを試して:

     SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss");
     format.setTimeZone(TimeZone.getTimeZone("UTC"));
     try {
         Date date1 = (Date) format.parse("4:15:20");
         Date date2 = (Date) format.parse("2:30:30");
         //time difference in milliseconds
         long timeDiff = date1.getTime() - date2.getTime(); 
         //new date object with time difference
         Date diffDate = new Date(timeDiff); 
         //formatted date string
         String timeDiffString = format.format(diffDate); 
         System.out.println("Time Diff = "+ timeDiffString );
     } catch (ParseException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     }

上記のコードには特定の制限があります。他の適切な方法は、以下のように文字列で時差の長い値を手動で変換することです。

     long timeDiffSecs = timeDiff/1000;
     String timeDiffString = timeDiffSecs/3600+":"+
                             (timeDiffSecs%3600)/60+":"+
                             (timeDiffSecs%3600)%60;
     System.out.println("Time Diff = "+ timeDiffString);
于 2012-12-25T04:56:22.970 に答える
0

最初に文字列の日付を単純な日付形式に変換します

public String getconvertdate1(String date)
{
    DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    inputFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
    DateFormat outputFormat = new SimpleDateFormat("dd MMM yyyy");
    Date parsed = new Date();
    try
    {
        parsed = inputFormat.parse(date);
    }
    catch (ParseException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    String outputText = outputFormat.format(parsed);
    return outputText;
}

// 日付を使って何でもできるようになりました。

 long diff = today.getTimeInMillis() - thatDay.getTimeInMillis(); //result in millis
 long days = diff / (24 * 60 * 60 * 1000);// you get day difference between

かつ simpledateFormate を使用して HH:MM:SS を構成する

于 2012-12-25T06:11:27.210 に答える
0

あなたが持っているコードは、リストされた日付間のミリ秒数の違いを示します。答えは単純に 1000 で割って秒数を求めることができるかもしれません。

于 2012-12-25T04:37:20.037 に答える