ok
per sapere se un giorno e di lunedi o altroo come faccio?
ok
per sapere se un giorno e di lunedi o altroo come faccio?
Ma l'ho detto prima: usa il campo DAY_OF_WEEK.Originariamente inviato da fcorsa
per sapere se un giorno e di lunedi o altroo come faccio?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
dico si usa anche per sapere il tipo di giorno, basta cambiare metodo. giusto.
Penserò a qualcosa per stò problema.
grazie di tutto
la corrispondenza tra giorni e interi è la seguente?
lunedi:2
martedi:3
mercoledi:4
giovedi:5
venerdi:6
sabato:7
domenica:1
E' vera questa corrispondenza oppure è errata?
vi pongo questa domanda poichè ogni volta, a partire da una data qualunque,mi restituisce informazioni errate sul giorno della settimana.
Sono giuste. Infatti ci sono le costanti in Calendar SUNDAY, MONDAY ecc... che hanno proprio quei valori.Originariamente inviato da guardianforce
lunedi:2
martedi:3
mercoledi:4
giovedi:5
venerdi:6
sabato:7
domenica:1
E' vera questa corrispondenza oppure è errata?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
come è possibile allora che data una data io nn mi trovi mai con il giorno.
Ad esempio:
GregorianCalendar ogg=new GregorianCalendar(107,11,31);
//Ho settato ogg ad una data in generale
System.out.println(ogg.getTime());
System.out.println(ogg.get(Calendar.DAY_OF_WEEK));
//autput a video
Fri Dec 31 00:00:00 CET 107
6
Osservando questo output mi dice che:
il 31 dicembre del 2007 è un venerdi appunto il giorno della settimana numero 6.
Ma questo n è vero visto che il 31 dicembre 2007 è un LUNEDI.Come mai succede questo?
2007???? No ... ehm ... siamo un pochettino indietro .... anno 107!!!!Originariamente inviato da guardianforce
il 31 dicembre del 2007
L'unica particolarità è il mese che è 0-based ma per il resto anno e giorno devono essere quelli reali, senza alcun "offset" particolare.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
hai ragione andbin...ma leggendo la documentazione mi diceva che usava un offset di 1900.
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?
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; } }
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
grazie andbin sei stato molto esauriente :-)