Go Back   UseSrv Message Forum > Italiano > Computers - Italiano > Java - Italiano
 

 
Thread Tools Display Modes
  #1  
Old 07-15-2008
Emma Ronco
Guest
 
Posts: n/a
Default calcolare i giorni festivi di un anno

Avrei bisogno di avere una classe che mi calcoli i giorni festivi in
anno(es. Pasqua,Natale,ferragosto etc),in modo perpetuo;mi serve per la
creazione di un agenda in java.
Potete aiutarmi?avete qualche link sotto mano utile da darmi?
Vi ringrazio molto
Buon fine setttimana a tutti


  #2  
Old 07-15-2008
Giuseppe
Guest
 
Posts: n/a
Default Re: calcolare i giorni festivi di un anno

Il Fri, 03 Oct 2003 17:23:02 +0200, Emma Ronco ha scritto:

> Avrei bisogno di avere una classe che mi calcoli i giorni festivi in
> anno(es. Pasqua,Natale,ferragosto etc),in modo perpetuo;mi serve per la
> creazione di un agenda in java.
> Potete aiutarmi?avete qualche link sotto mano utile da darmi?
> Vi ringrazio molto
> Buon fine setttimana a tutti



public class Festivita {

public static final Date ferragosto;
public static final Date natale;

static {
Calendar c = Calendar.getInstance();
GregorianCalendar g = new GregorianCalendar(2003, 12, 25);
natale = g.getTime();
g = new GregorianCalendar(2003, 8,15);
ferragosto = g.getTime();
}

}


Non so se le mensilità iniziano ad essere calcolate da 0 o 1 (basta legere
i javadoc

Non so come calcolare la pasqua, sono buddista

Ciao
Giuseppe
  #3  
Old 07-15-2008
Pietro
Guest
 
Posts: n/a
Default Re: calcolare i giorni festivi di un anno

Per Natale e Ferragosto è facile, cadono sempre lo stesso giorno (25 e
15) e per il giorno della settimana ti basta utilizzare la formula di
Carrol. Per Pasqua è il contrario: conosco un algoritmo che calcola il
giorno di Pasqua per ogni anno, il giorno della settimana è sempre lo
stesso.
Conosci la formula di Carrol? Se vuoi ti posto tutto. Poi te lo fai in
Java.



--
Pietro - http://pietro81.altervista.org
Linux Registered User #304991
Powered by *Mandrake GNU/Linux 9.1*

  #4  
Old 07-15-2008
Alessandro Campi
Guest
 
Posts: n/a
Default Re: calcolare i giorni festivi di un anno

> Conosci la formula di Carrol? Se vuoi ti posto tutto.

Se posti te ne sono grato.

> conosco un algoritmo che calcola il giorno di Pasqua


Idem

Ale.


  #5  
Old 07-15-2008
Robin Root
Guest
 
Posts: n/a
Default Re: calcolare i giorni festivi di un anno

Interessa anche a me la formula di Carrol!
La puoi postare?
Grazie.
Ciao.

"Pietro" <pietroPUNTObas@tiscali.it> ha scritto nel messaggio
newsan.2003.10.03.16.18.51.586509@tiscali.it...
> Per Natale e Ferragosto è facile, cadono sempre lo stesso giorno (25 e
> 15) e per il giorno della settimana ti basta utilizzare la formula di
> Carrol. Per Pasqua è il contrario: conosco un algoritmo che calcola il
> giorno di Pasqua per ogni anno, il giorno della settimana è sempre lo
> stesso.
> Conosci la formula di Carrol? Se vuoi ti posto tutto. Poi te lo fai in
> Java.
>
>
>
> --
> Pietro - http://pietro81.altervista.org
> Linux Registered User #304991
> Powered by *Mandrake GNU/Linux 9.1*
>



  #6  
Old 07-15-2008
di Domenico G.
Guest
 
Posts: n/a
Default Re: calcolare i giorni festivi di un anno


Per la pasqua esiste la formula di K.F.Gauss

-----------------------------------------------------
a = anno Mod 19
b = anno \ 100
c = anno Mod 100
d = b \ 4
e = b Mod 4
f = ( b + 8 ) \ 25
g = ( b - f + 1 ) \ 3
h = ( 19 * a + b - d - g + 15 ) Mod 30
i = c \ 4
k = c Mod 4
l = ( 32 + 2 * e + 2 * i - h - k ) Mod 7
m = ( a + 11 * h + 22 * l ) \ 451
p = ( h + l - 7 * m + 114 ) Mod 31

mese = ( h + l - 7 * m + 114 ) \ 31
giorno = p + 1
--------------------------------------------------

Se a qualcuno interessa la formula in .xls ...behhh contattatemi !

Questo un esempio fatto in php

<?
function pasqua_secondo_Gauss( $J){

$J = date ("Y", mktime ());
$a = $J % 19;
$b = $J % 4;
$c = $J % 7;
$m = number_format (8 * number_format ($J / 100) + 13) / 25 - 2;
$s = number_format ($J / 100 ) - number_format ($J / 400) - 2;
$M = (15 + $s - $m) % 30;
$N = (6 + $s) % 7;
$d = ($M + 19 * $a) % 30;
if ($d == 29)
{
$D = 28;
}
else if (d == 28 and $a >= 11)
{
$D = 27;
}
else
{
$D = $d;
}

$e = (2 * $b + 4 * $c + 6 * $D + $N) % 7;
$pasqua = mktime (0, 0, 0, 3, 21, $year_select) +
(($D + $e + 1) * 86400);

return $pasqua;
?>


  #7  
Old 07-15-2008
Pietro
Guest
 
Posts: n/a
Default Re: calcolare i giorni festivi di un anno

Il Sat, 04 Oct 2003 13:24:42 +0200, Pietro ha scritto:

Formula di Carrol:

Considerate ogni data in quattro elementi: numero secoli, numero anni,
mese, giorno.

Fate le seguenti operazioni modulo 7.

Secolo: dividetelo per 4, sottraete il resto da 3 e moltiplicate la
differenza per 2.

Anno: sommate numero di dozzine, resto e numero di 4 contenuti nel resto.

Mese:
Gennaio=0,Feb=3,Mar=3,Apr=6,Mag=1,Giu=4,Lug=6,Ago= 2,Set=5,Ott=0,Nov=3,Dic=5.

Giorno: giorno del mese.

Fate la somma e sottraete 1 se la data è gennaio o febbraio di un anno
bisestile, sempre modulo 7.
Dividete per 7 e considerate il resto che da il giorno della settimana:
Lun=1,Mar=2,Mer=3,Gio=4,Ven=5,Sab=6,Dom=0.

Tutto qui. Ce l'ho anche in Java, ma è più istruttivo se lo fate da soli,
se poi avete bisogno...


Il metodo per il giorno di Pasqua dato l'anno è:

public static String easterDate(int iYear)
{
int a,b,c,d,e,f,g,h,i,k,l,m,n,p;
int iDay,iMonth;

a=iYear % 19;
b=(int) (iYear/100);
c=iYear % 100;
d=(int) (b/4);
e=b % 4;
f=(int) ((b+8)/25);
g=(int) ((b-f+1)/3);
h=(19 * a+b-d-g+15) % 30;
i=(int) (c/4);
k=c % 4;
l=(32+2*e+2*i-h-k) % 7;
m=(int) ((a+11*h-221)/451);
n=(int) (h+l-7*m+114) / 31;
p=(h+l-7*m+114) % 31;

iDay=p+1;
iMonth=n;

return "Il Giorno di Pasqua nell'anno "+iYear+" è "+iDay+"/"+iMonth;
}

--
Pietro - http://pietro81.altervista.org
Linux Registered User #304991
Powered by *Mandrake GNU/Linux 9.1*



Thread Tools
Display Modes

Forum Jump


All times are GMT. The time now is 01:24 AM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0