2010-03-31 40 views
1

我的Java類中有一個變量,需要根據今天是在7/1之前還是之後設置。如果今天是7/1之前,那麼我們是在今年的財政年度(所以今天我們在2010財年)。如果今天是在7/1之後,我們的新財年已經開始,並且變量需要在下一年(所以2011年)。變量值的檢查日期

僞代碼:

if today < 7/1/anyyear then 
    BudgetCode = "1" + thisYear(YY) //variable will be 110 
else 
    BudgetCode = "1" + nextYear(YY) //variable will be 111 

的感謝!

+0

7/1是7月1日吧?還是1月7日?這一天是以UTC還是在你的時區開始的? – 2010-03-31 16:06:36

+0

是7月1日...在我們的時區....謝謝! – Leslie 2010-03-31 16:27:32

回答

0

我認爲if語句就是這樣得到2位數的年份,在其前端有「1」數字。

if (cal.after(someDate)) { 
    BudgetCode = "1".concat(new Integer(cal.get(Calendar.YEAR)%100).toString()); 
} 
else { 
    BudgetCode = "1".concat(new Integer(cal.get(Calendar.YEAR)%100).toString()); 
} 
+0

完美!謝謝! – Leslie 2010-03-31 19:36:24

3
Calendar cal = Calendar.getInstance(); 
cal.set(Calendar.MONTH, Calendar.JULY); 
cal.set(Calendar.DATE, 1); 

if (cal.after(someDate)) { 
    fy = cal.get(Calendar.YEAR) + 1; 
} 
else { 
    fy = cal.get(Calendar.YEAR); 
} 
+0

有沒有辦法只獲得2位數的年份而不是4位數的年份?我只需要10或11,不是2010或2011,謝謝 – Leslie 2010-03-31 16:49:49

+0

一種方法是模運算符,例如:int twoDigitFy = fy%100; – NobodyMan 2010-03-31 17:19:36