Esiste qualcosa nel framework che si per lo meno si avvicini al calcolo del numero delle giornate lavorative fra due date ?
Esiste qualcosa nel framework che si per lo meno si avvicini al calcolo del numero delle giornate lavorative fra due date ?
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
Originariamente inviato da djciko
Esiste qualcosa nel framework che si per lo meno si avvicini al calcolo del numero delle giornate lavorative fra due date ?
si sibasta calcolare la differenza in giorni tra due date; poi togliere tutti i sabati e le domeniche, e anche le feste
![]()
Pietro
DAVVERO ??? Accidenti era facile..........Originariamente inviato da pietro09
si sibasta calcolare la differenza in giorni tra due date; poi togliere tutti i sabati e le domeniche, e anche le feste
![]()
![]()
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
:quote:Originariamente inviato da djciko
DAVVERO ??? Accidenti era facile..........![]()
facile quanto far funzionare VisualStudio 2005 con Panda antivirus![]()
![]()
![]()
![]()
![]()
Pietro
dovrebbe andare, anche con Panda Antivirus attivatocodice:Public Function isFestivo(ByVal giorno As String, ByVal mese As Integer) As Boolean Dim appo As DateTime Dim mess As Boolean Dim ggPasquetta As Integer Dim mmPasquetta As Integer Dim dayPasquetta As String dayPasquetta = Calcolo_Pasquetta(Year(Now)) mmPasquetta = dayPasquetta.Substring(0, 2) ggPasquetta = dayPasquetta.Substring(3) mess = False If IsDate(giorno.ToString + "/" + mese.ToString + "/" + Year(Date.Now).ToString) Then appo = giorno.ToString + "/" + mese.ToString + "/" + Year(Date.Now).ToString If (mmPasquetta = mese And (ggPasquetta = giorno Or ggPasquetta + 1 = giorno)) Or _ (giorno.ToString = 1 And mese.ToString = 1) Or _ (giorno.ToString = 6 And mese.ToString = 1) Or _ (giorno.ToString = 25 And mese.ToString = 4) Or _ (giorno.ToString = 1 And mese.ToString = 5) Or _ (giorno.ToString = 2 And mese.ToString = 6) Or _ (giorno.ToString = 29 And mese.ToString = 6) Or _ (giorno.ToString = 15 And mese.ToString = 8) Or _ (giorno.ToString = 1 And mese.ToString = 11) Or _ (giorno.ToString = 8 And mese.ToString = 12) Or _ (giorno.ToString = 25 And mese.ToString = 12) Or _ (giorno.ToString = 26 And mese.ToString = 12) Or _ appo.DayOfWeek() = DayOfWeek.Saturday Or appo.DayOfWeek() = DayOfWeek.Sunday Then 'è sabato o domenica mess = True End If ElseIf Not IsDate(giorno.ToString + "/" + mese.ToString + "/" + Year(Date.Now).ToString) And _ IsNumeric(giorno) Then 'Non è un giorno facente parte del mese(es: se il mese è di 30 il 31/mese/anno nn fa parte del mese) mess = True End If Return mess End Function Public Function Calcolo_Pasquetta(ByVal iAnno As Integer) As String Dim a, b, c, d, e, m, n, giorni As Integer Dim giorno, mese As String Select Case iAnno Case 30 To 1582 m = 15 n = 6 Case 1700 To 1799 m = 23 n = 3 Case 1800 To 1899 m = 23 n = 4 Case 1900 To 2099 m = 24 n = 5 Case 2100 To 2199 m = 24 n = 6 Case 2200 To 2299 m = 25 n = 0 Case 2300 To 2399 m = 26 n = 1 Case 2400 To 2499 m = 25 n = 1 End Select a = iAnno Mod 4 b = iAnno Mod 7 c = iAnno Mod 19 d = (19 * c + m) Mod 30 e = (2 * a + 4 * b + 6 * d + n) Mod 7 giorni = 22 + d + e If (giorni <= 31) Then giorno = giorni mese = 3 End If If (giorni = 57 And d = 29 And e = 6) Or (giorni = 56 And c > 10 And d = 28 And e = 6) Then giorno = giorni - 38 mese = 4 End If If giorni > 31 Then giorno = giorni - 31 mese = 4 End If If (mese.ToString).Length = 1 Then mese = CType(0, String) + CType(mese, String) End If If (giorno.ToString).Length = 1 Then giorno = "0" + giorno.ToString End If Calcolo_Pasquetta = mese & "|" & giorno End Function![]()
![]()
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
boh! ci stavo provando anch'iomi togli tutto il piacere
:rollo:
![]()
Pietro
ho riadattato una parte di codice fatta da colleghi e l'ho completata...vedi un po'...ho testato col 25 dicembre e restituisce True con dei regalini infiocchettati..
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
Testala col 30 ottobre 2006: dalle nostre parti era festaOriginariamente inviato da djciko
ho riadattato una parte di codice fatta da colleghi e l'ho completata...vedi un po'...ho testato col 25 dicembre e restituisce True con dei regalini infiocchettati..![]()
Pietro
(giorno.ToString = 30 And mese.ToString = 10) Or _
.
.
![]()
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
in pratica le feste le mettete tutte qui dentro ???
Codice PHP:
(giorno.ToString = 1 And mese.ToString = 1) Or _
(giorno.ToString = 6 And mese.ToString = 1) Or _
(giorno.ToString = 25 And mese.ToString = 4) Or _
(giorno.ToString = 1 And mese.ToString = 5) Or _
(giorno.ToString = 2 And mese.ToString = 6) Or _
(giorno.ToString = 29 And mese.ToString = 6) Or _
(giorno.ToString = 15 And mese.ToString = 8) Or _
(giorno.ToString = 1 And mese.ToString = 11) Or _
(giorno.ToString = 8 And mese.ToString = 12) Or _
(giorno.ToString = 25 And mese.ToString = 12) Or _
(giorno.ToString = 26 And mese.ToString = 12) Or _