爲別人誰可能絆倒在這裏,鏈接refered對這個問題給出了誤導性的結果我試圖計算兩個日期之間的差異,以秒爲單位。 (Java/Android設備)
我的第一次約會:1986年4月8日。當前日期:2013-11-28。
代碼:
public long seconds(Date date){
String formattedDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",getResources().getConfiguration().locale).format(Calendar.getInstance().getTime());
String DateStr=String.valueOf(formattedDate);
Date d = null;
try {
d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",getResources().getConfiguration().locale).parse(DateStr);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
java.sql.Date dx = new java.sql.Date(d.getTime());
Date d1 = date;
Date d2 = dx;
t4.setText("BirthDate"+date+"\n Current Date:"+dx);
long seconds = (d2.getTime()-d1.getTime())/1000;
return seconds;
}
然而,當我在這裏檢查的結果:http://www.calculator.net/age-calculator.html?today=04%2F04%2F1986&ageat=11%2F28%2F2013&x=32&y=10它給了我一個略有不同的結果。我不確定我出錯的地方。
在上面的第二個(日期日期){}實現中,您將在幾秒鐘內獲得差異。當你將秒轉換成年齡差異時,你需要考慮1986年到2003年間的閏年。最好的方法是利用Calendar類。 – MAkS
現在我很困惑下面的一個答案說,這個計算更精確,否定夏令時和所有。我現在也很擔心閏年.. – Skynet
檢查Calender類是否確實提供了其他明智的自己實現的方法。我猜日光節約不應該影響你的結果。 – MAkS