Visualizzazione dei risultati da 1 a 10 su 10

Visualizzazione discussione

  1. #1

    [VB 2010] funzione che restituisce giorni che intercorrono tra due date

    Salve non so come fare io sono arrivato qui a confrontare i giorni mediante l'algoritmo del calendario giuliano (es. il primo febbraio e' il 32 esimo giorno dell'anno)

    codice:
    Function bisestile(ByVal anno As Integer) As Boolean
            If (anno Mod 400 = 0 Or (anno Mod 100 <> 0 And anno Mod 4 = 0)) Then
                bisestile = True
            Else
                bisestile = False
            End If
                return bisestile
        End Function
    
    
        Function giorni(ByVal mese As String, ByVal anno As Integer) As Integer
            Select Case LCase(mese)
                Case "gennaio", "marzo", "maggio", "luglio", "agosto", "ottobre", "dicembre"
                    giorni = 31
                Case "aprile", "giugno", "settembre", "novembre"
                    giorni = 30
                Case "febbraio"
                    If bisestile(anno) = True Then
                        giorni = 29
                    Else
                        giorni = 28
                    End If
            End Select
            Return giorni
        End Function
    
    
        Function giuliano(ByVal giorno As Integer, ByVal mese As String, ByVal anno As Integer) As Integer
            Dim g, g_feb As Integer
    
    
            g_feb = giorni(mese, anno) 'funzione che stabilisce quanti giorni ha un mese (anche se l'anno è bisestile)
    
    
            Select Case LCase(mese)
                Case "gennaio"
                    g = 1 * giorno
                Case "febbraio"
                    g = 31 + giorno
                Case "marzo"
                    g = giorno + 31 + g_feb + 31
                Case "aprile"
                    g = giorno + 31 + g_feb + 31 + 31
                Case "maggio"
                    g = giorno + 31 + g_feb + 31 + 31 + 30
                Case "giugno"
                    g = giorno + 31 + g_feb + 31 + 31 + 30 + 31
                Case "luglio"
                    g = giorno + 31 + g_feb + 31 + 31 + 30 + 31 + 30
                Case "agosto"
                    g = giorno + 31 + g_feb + 31 + 31 + 30 + 31 + 30 + 31
                Case "settembre"
                    g = giorno + 31 + g_feb + 31 + 31 + 30 + 31 + 30 + 31 + 31
                Case "ottobre"
                    g = giorno + 31 + g_feb + 31 + 31 + 30 + 31 + 30 + 31 + 31 + 30
                Case "novembre"
                    g = giorno + 31 + g_feb + 31 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31
                Case "dicembre"
                    g = giorno + 31 + g_feb + 31 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30
            End Select
            Return g
        End Function
    
    
    Function confronto_date(ByVal g1 As Integer, ByVal m1 As String, ByVal a1 As Integer, ByVal g2 As Integer, ByVal m2 As String, ByVal a2 As Integer) As Integer
            Dim data1, data2 As Integer
            data1 = giuliano(g1, m1, a1)
            data2 = giuliano(g2, m2, a2)
    
    
            ?
            ?
            ?

    grazie a chi mi aiutera'
    Ultima modifica di LeleFT; 02-01-2015 a 10:19 Motivo: Aggiunti i tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.