Ott 23

JAVA – Come ottenere l’anno corrente in Java

Come mostrare correttamente l’anno corrente in Java (senza usare il metodo Date.getYear)
Fino alla versione del JDK 1.1 veniva abitualmente usato il metodo java.util.Date.getYear()!
Questo metodo è deprecato dalla JDK 1.2 in poi in quanto, per gli anni successi al 1999 restituiva il numero di anni passati dal 1900.
Per ottenere correttamente l’anno in corso si può utilizzare il seguente codice:
Calendar calendar = GregorianCalendar.getInstance();
System.out.printl(“ANNO CORRENTE:” + calendar.get( Calendar.YEAR ));

invece di:

Date d = new Date();
Systtem.out.printl(“ANNO CORRENTE:” + d.getYear());

Che invece mostrerebbe come risultato (nel 2009):
ANNO CORRENTE:109

Ott 23

JAVA – Ottenere il primo giorno della settimana

Ottenere il primo giorno della settimana

Nel caso serva ottenere il primo giorno della settimana in riferimento a un giorno specifico, la funzione per ottenere questo risultato è la seguente:
Codice:
/**
** IN: Date today – giorno di riferimento all’interno della settimana du cui si vuole conoscere il primo giorno
**/
public static Date getCurrentMonday(Date today)
{
Date monday = null;
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(today);
int day = rightNow.get(Calendar.DAY_OF_WEEK);
int distance = 0;
if (day == Calendar.MONDAY)
{
monday = rightNow.getTime();
}
else
{
distance = day – Calendar.MONDAY;
if (distance == -1)
distance = 6;
monday = (Date) (rightNow.getTime());
monday.setTime(monday.getTime() – 1000 * 60 * 60 * 24 * (distance));
}
return monday;
}
Ad esempio quand’è lunedì nella settimana contenente il 25-07-2008? (risp. 21-07-2008)

La funzione ha impostato come primo giorno della settimana il lunedì, in caso si voglia cambiare il giorno di rifermento va cambiato nel codice Calendar.MONDAY con la costante del giorno che interessa (definita nella classe Calendar)