2016-09-11 8 views
1

次の2つの日付がある日付を差し引く。日付形式

文字列d1 = "Fri May 11 01:48:50 +0000 2015";

文字列d2 = "Thu May 10 20:49:20 +0000 2015";

long result = 0;

d1からd2を差し引きたいと思います。しかし、減算のためにd1とd2(SimpleDateFormatなど)をどのようにフォーマットするのか分かりません。誰か助けてくれますか? Javaの8+で

+0

dateからmilisecondを取得し、long値を引く必要があります。 – thangdc94

+0

と[this](http://stackoverflow.com/q/30761682/642706)とそれ以上の複製。投稿の前にスタックオーバーフローを検索してください。 –

答えて

2

、あなたは4時間59分30秒のために

PT-4H-59M-30S 

を出力

String d1 = "Fri May 11 01:48:50 +0000 2015"; 
String d2 = "Thu May 10 20:49:20 +0000 2015"; 
DateFormat df = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy"); 
try { 
    Date a = df.parse(d1); 
    Date b = df.parse(d2); 
    Duration d = Duration.between(a.toInstant(), b.toInstant()); 
    System.out.println(d); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

ようなものでjava.time.Duration(S)Date両者の間を得ることができます。

+0

ありがとう、それは仕事です。 :) – Kenny