减去日期;日期格式

时间:2016-09-11 03:03:55

标签: java

我有两个以下日期

String d1 =" Fri May 11 01:48:50 +0000 2015";

字符串d2 =" 2015年5月10日星期五20:49:20 +0000 2015&#34 ;;

长期结果= 0;

我想从d1中减去d2。但是,我不知道如何格式化d1和d2(SimpleDateFormat或其他东西)进行减法。有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

在Java 8+中,您可以使用

之类的内容获得两个Date之间的java.time.Duration
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();
}

哪个输出

PT-4H-59M-30S

持续4小时59分30秒。