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)