2010-03-31 4 views
1

J'ai une variable dans ma classe Java qui doit être définie selon si aujourd'hui est avant ou après 7/1. Si aujourd'hui est avant 7/1 alors nous sommes dans l'année fiscale qui est l'année en cours (donc aujourd'hui nous sommes en FY10). Si aujourd'hui est après 7/1 notre nouvelle année fiscale a commencé et la variable doit être l'année suivante (donc FY11).date de vérification pour la valeur de la variable

Code psuedo:

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

merci!

+0

Et 7/1 est le 1er juillet, n'est-ce pas? Ou est-ce le 7 janvier? Et la journée commence à UTC ou dans votre fuseau horaire? –

+0

oui 1er juillet ... dans notre fuseau horaire .... merci! – Leslie

Répondre

0

Je pense que l'instruction if serait comme ceci pour obtenir l'année à deux chiffres avec le chiffre "1" à l'extrémité avant de celui-ci.

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

parfait! Merci! – Leslie

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

y a-t-il un moyen d'obtenir seulement l'année à 2 chiffres et non l'année à 4 chiffres? J'ai juste besoin de 10 ou 11 pas 2010 ou 2011, merci – Leslie

+0

Une façon serait l'opérateur de module, par exemple: int twoDigitFy = fy% 100; – NobodyMan

Questions connexes