Questo per la classe Date, non certo Calendar/GregorianCalendar. Tra l'altro con Date l'utilizzo dei singoli campi (anno, mese, ecc....) tramite costruttori e metodi get/set è deprecato e quindi da non usare.Originariamente inviato da guardianforce
ma leggendo la documentazione mi diceva che usava un offset di 1900.
Esempio per il primo giorno del mese con un certo giorno della settimana:Originariamente inviato da guardianforce
Avrei un ulteriore problema. Devo calcolare una data a partire da informazioni di questo tipo:
Es.1:
Ultima domenica di marzo
Es.2 Prima domenica di aprile
etc.
puoi consigliarmi come fare?
È solo questione di pochi calcoli (e logica): se il primo giorno del mese è monday (2) e voglio trovare il primo giorno con saturday (7), basta aggiungere 5 al giorno.codice:import java.util.*; public class Prova { public static void main (String[] args) { for (int i = 0; i < 12; i++) System.out.println (getFirstWeekDayOfMonth (Calendar.MONDAY, i, 2007).getTime ()); } public static Calendar getFirstWeekDayOfMonth (int weekDay, int month, int year) { Calendar c = new GregorianCalendar (year, month, 1); if (weekDay < c.get (Calendar.DAY_OF_WEEK)) weekDay += 7; c.add (Calendar.DAY_OF_MONTH, weekDay - c.get (Calendar.DAY_OF_WEEK)); return c; } }

Rispondi quotando