Italian Giorni dell'anno senza feste

LucaMs

Expert
Licensed User
Longtime User
Ora che puoi calcolare con precisione Pasqua dell'anno prossimo, prenoti per tutti un agriturismo, un posticino carino per "Pasquetta"? :D
Come dicevano in un telefilm, riguardo a cosa fare il giorno successivo però:

"Come sei ottimista"

(nel senso: "chissà se ci arriviamo a domani" :p)

Io per Pasqua 2019 sarò in un altro mondo quasi certamente.
 

LucaMs

Expert
Licensed User
Longtime User
Va beh, è solo un elenco di festività, giorno-mese, si può rifare facilmente... (aggiungerò qui, non un nuovo post)

Invece, nuovo post.

Usa la funzione GetEasterSunday indicata nel post #19 per calcolare la data di Pasqua.

B4X:
' Passare la data in formato gg-MM-aaaa.
Public Sub isFestivo(Data As String, Roma As Boolean) As Boolean
   Dim Festivo As Boolean

   Dim PrevDateFormat As String = DateTime.DateFormat
   DateTime.DateFormat = "dd-MM-yyyy"

   Dim GiornoData, MeseData, AnnoData As Int
   Dim DataTicks As Long
   DataTicks = DateTime.DateParse(Data)
   AnnoData = DateTime.GetYear(DataTicks)
   GiornoData = DateTime.GetDayOfMonth(DataTicks)
   MeseData = DateTime.GetMonth(DataTicks)
 
   Dim Domenica As Boolean
   Domenica = (DateTime.GetDayOfWeek(DataTicks) = 1)
 
   Dim DataPasqua As String
   Dim GiornoPasqua, MesePasqua As Int
   Dim PasquaTicks As Long
   DateTime.DateFormat = "MM-dd-yyyy"
   DataPasqua = GetEasterSunday(AnnoData, "")
   PasquaTicks = DateTime.DateParse(DataPasqua)
   GiornoPasqua = DateTime.GetDayOfMonth(PasquaTicks)
   MesePasqua = DateTime.GetMonth(PasquaTicks)
 
   Dim lstFestivi As List
   lstFestivi.Initialize
   Dim GiornoMesePasqua As String
   GiornoMesePasqua = GiornoPasqua & "-" & MesePasqua

   GiornoMeseFestaRoma As String = ""
   If Roma then
        GiornoMeseFestaRoma = "29-6"
   End If

   lstFestivi.AddAll(Array As String("1-1", "6-1", "25-04", "1-5", "2-6", "15-8", "1-11", "8-12", "25-12", "26-12", GiornoMesePasqua, GiornoMeseFestaRoma))
 
   Dim GiornoMeseData As String
   GiornoMeseData = GiornoData & "-" & MeseData

   Festivo = (lstFestivi.IndexOf(GiornoMeseData) > - 1) Or Domenica
   DateTime.DateFormat = PrevDateFormat
   Return Festivo
End Sub


ed essendo di Roma anche il 29 giugno..

Non ho aggiunto il 29 giugno; ti basta aggiungerlo nella lstFestivi come "29-6".

Aggiunto anche il 29 giugno.
 
Last edited:

maXim

Active Member
Licensed User
Longtime User
Ciao Nikeddy,

guarda il metodo
CountWorkdaysFromDates (ma ce ne sono anche altri che potrebbero esserti utili) della classe fDATE presente nella libreria db2000 eXtrafunctions...
 

Nikeddy

Active Member
Licensed User
meraviglia,

domanda xo:

xche se provo a compilarlo mi esce

"riferimento a un oggetto non impostato su un istanza di oggetto" ?
 
Top