我有两个以下日期
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或其他东西)进行减法。有人能帮助我吗?
答案 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秒。