-1

2 つの日付値があります。

  1. Date now=new Date();
  2. 別のdate変数。

xxxDays XXXHours XXMin XXXSeconds に賭けた差額を知りたいのですが、どうすればこれを達成できますか.

Date now=new Date();  
Date date2="2013-07-04 18:06:27"; //(I will get this from a DB).  
String/Date dateDiff=date2.getTime()-now.getTime();  

このようなもの

4

3 に答える 3

0

を使用した別のアプローチTimeUnit

final SimpleDateFormat fmt = new SimpleDateFormat("dd/MM/yyyy HH:mm");
final Date old = fmt.parse("10/7/2013 10:10");
final Date now = fmt.parse("12/7/2013 12:12");

long dif = now.getTime() - old.getTime();
final long days = TimeUnit.MILLISECONDS.toDays(dif);
dif -= TimeUnit.DAYS.toMillis(days);
final long hours = TimeUnit.MILLISECONDS.toHours(dif);
dif -= TimeUnit.HOURS.toMillis(hours);
long mins = TimeUnit.MILLISECONDS.toMinutes(dif);

System.out.format("%d days, %d hours, %d mins\n", days, hours, mins);   

どちらが正しく印刷されますか:

2 days, 2 hours, 2 mins
于 2013-07-11T09:35:27.967 に答える