如果我有一個日期爲2012年1月8日的日曆對象,我將如何確定該對象創建後是否至少有一年?Java |如何確定日曆對象是否一年?
回答
首先,你需要兩個日期戳;一個用於帳戶創建日期,第二個用於「now」。
然後就簡單地把兩日戳到標量值用相同的單位(例如,使用Calendar.getTime()
給你毫秒,因爲一些「曆元」),減去從另一個,看到如果差更多,更少或等於1年== 365天(在相關單位中)。
如果您在談論「日曆年」(例如考慮閏年等),那麼它會變得更加複雜,並且規則可能是特定於語言環境的。
我推薦你使用java.time
類,而不是老Calendar
API。如果你是新來這個,通過讀取甲骨文的Java教程開始"Lesson: Date-Time Overview"
你碰巧知道這個語法嗎?我完全不熟悉Calendar對象。如果我們只用365天而不用擔心閏年等。 –
你失去了我。 「日曆」對象不會對任何<<語法進行編碼。該語法是日期的字符串表示形式,當您從中創建「日曆」對象時,它將消失。這也適用於表示日期/時間值的其他Java類。 –
java.time
老java.util.Date/.Calendar類已經被內置到Java 8.0中的新java.time框架取代和以後()。如果您確實需要.Calendar,請在StackOverflow上發佈已存在的數百個此類問題中的任何一個。
下面是java.time中的一些示例代碼。 LocalDate
類代表沒有時間或時區的僅限日期的值。但請注意,確定今天的日期需要一個時區。
// Then.
LocalDate then = LocalDate.parse ("2012-01-08");
// Now.
ZoneId zoneId = ZoneId.of ("America/Montreal");
LocalDate today = LocalDate.now (zoneId);
// Elapsed.
Period period = Period.between (then , today);
int years = period.getYears();
// Business logic.
Boolean atLeastOneYearHasPassed = (years >= 1);
轉儲到控制檯。
System.out.println ("From then: " + then + " to today: " + today + ", atLeastOneYearHasPassed: " + atLeastOneYearHasPassed + ", years: " + years);
運行時。
從那時:2012-01-08到今天:2015年10月17日,atLeastOneYearHasPassed:真,年:3
- 1. 如何用Java創建日曆對象
- 2. 確定一年是否閏年,如果黑莓的日期是有效的
- 3. 確定一個日曆年(有/無閏年)
- 4. 如何確定對象是否爲PORO?
- 5. SQL檢查日期是否在此日曆年或之前的日曆年
- 6. 如何確定2個日期對象是否相等?
- 7. Java日曆對象減去一個月
- 8. 日期對象是否使用非格里曆日曆?
- 9. 日曆,塊一年
- 10. 如何確定對象是否是一個NSNumber
- 11. 如何確定字段值是否是一個對象?
- 12. 如何確定Java中兩個日曆對象之間的時間?
- 13. 是否可以確定一個對象是否被另一個對象引用?
- 14. 如何檢查今天是否是Java日曆的星期日
- 15. 日曆設定年期
- 16. 如何確定日期範圍內是否有生日或週年紀念
- 17. PHP - 確定日期是否是在使用DateTime對象
- 18. 確定3D對象是否被另一3D對象隱藏
- 19. 如何測試日期對象是否等於特定日期
- 20. 確定給定的數字是否是同一個公曆年和Hijri年的總和?
- 21. 如何確定一個對象是否從一個抽象的通用類
- 22. 遍歷一個對象或數組,以確定元素是否適合範圍
- 23. java - 確定一個日期是否是二進制的
- 24. 確定一個對象是否是一個ctypes數組
- 25. 確定一個對象是否是一個PHPUnit模擬
- 26. 如何檢查兩個日期是否在同一日曆日
- 27. 遍歷JSON對象,並檢查是否特定對象存在
- 28. 你如何確定鼠標是否指向特定的對象?
- 29. 垃圾收集器如何確定對象是否是垃圾?
- 30. 如何確定Javascript對象是否是事件?
什麼帳戶??? –
做了一個編輯,意思是對象,而不是賬號。 –