請幫我寫一個方法,它返回從提供的日期到今天的日期的天數(int)。因此,假設我正在向方法提供一個int 110515
(2011年5月15日)。它應該返回9
(包含或排他對我不重要)。如何編寫一個方法,該方法返回從提供日期到今天日期的天數(int)?
2
A
回答
0
未來的日期應包括當前日期嗎?意思是如果今天是2011年5月24日,110529應該是4還是5?
public static long numberOfDays(final long date) throws ParseException {
final Calendar compare = Calendar.getInstance();
compare.setTime(new SimpleDateFormat("yyMMdd").parse(String.valueOf(date)));
final int dstOffset = compare.get(Calendar.DST_OFFSET);
final long currentTimeMillis = System.currentTimeMillis();
final long compareTimeInMillis = compare.getTimeInMillis();
long difference = 0;
if (currentTimeMillis >= compareTimeInMillis) {
difference = currentTimeMillis - compareTimeInMillis - dstOffset;
} else {
difference = compareTimeInMillis - currentTimeMillis + dstOffset;
}
return difference/(24 * 60 * 60 * 1000);
}
+0
它看起來不像一種方法。你可以修改它作爲一種方法嗎? – Prostak 2011-05-25 00:18:52
2
如果你可以使用喬達,這是超級簡單:
Days d = Days.daysBetween(startDate, endDate);
int days = d.getDays();
當然,你可以將其組合。
int days = Days.daysBetween(startDate, endDate).getDays();
Joda對象可以很容易地在JDK的日期類之間來回切換。
對於第一部分,製作再DateFormatter解析基於它的字符串,像這樣:(轉動INT變成理所當然的字符串後)
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyyMMdd");
DateTime dt = fmt.parseDateTime(strInputDateTime);
0
因爲這看起來像一個家庭作業問題我會幫你解決的。您將需要使用Calendar.getTimeInMillis
。然後你會想要創建一個常量,即NUMBER_OF_MILLIS_IN_DAY
。從那裏你從currentDate
減去initialDate
(兩個時間毫秒)併除以常數。
相關問題
- 1. 如何從今天的日期(即)整整一個月,從今天的日期
- 2. 日期codeniter10天從今天
- 3. 比較日期爲今天的日期,並返回天
- 4. 如何從今天的日期得到下三個日期
- 5. 新的日期()返回下一個日期,而不是今天的日期
- 6. 比較日期到今天的日期
- 7. 查詢日期從法定格式日期到今天
- 8. 今天的日期
- 9. 檢查日期,如果今天,回到今天或正常日期
- 10. 比較今天的日期+ 30天至另一個日期
- 11. PHP:日期「昨天」,「今天」
- 12. 如何從今天的日期減去x天的天數
- 13. 當日期<今天時返回0
- 14. 如何找到今天的日期和日期從一個數據幀
- 15. PHP計數日期和今天日期
- 16. dateTime今天前一天的返回日期
- 17. 檢查日期大於2天,從今天的日期的JavaScript
- 18. 從今天的日子到今天的日期每天運行代碼-400
- 19. 如何填寫TextBox類型日期與今天的日期VB.Net
- 20. 選擇所有地方日期=今天?
- 21. Daterangepicker - 無法選擇今天的日期
- 22. 如何計算日期從今天
- 23. 如何從週一獲得的數據到今天的日期
- 24. 如何比較日期並獲取不應該在今天的日期日期
- 25. 怎麼看,如果另一個日期比今天的日期
- 26. 的JavaScript今天的日期
- 27. 如何確定日期從php下的今天日期php
- 28. 如何檢查今天的日期=從SQL日期?
- 29. 加入今天的日期
- 30. 與今天的日期
什麼樣的表示是110515,它是如何編碼的?你從哪裏得到這個號碼? – 2011-05-24 23:57:27
@GregaKešpret:YYMMDD。它是一個整數。我會手動通過它。 – Prostak 2011-05-24 23:59:31
哦對不起:)我期待「Excel」int編碼日期或類似的東西。我們總是想念太明顯的事情。 – 2011-05-25 00:01:56