Forum ottimizzato da cdlab seo agency Milano

Calendario in Asp

Qui gli utenti possono discutere di qualsiasi argomento non correlato alle tematiche principali del forum, come ad esempio sport, musica, film, videogiochi, hobby e molto altro ancora.
Rispondi
Avatar utente
paperluca
Veterano
OFFLINE
Veterano
Iscritto il: 16 giu 2021

Messaggio paperluca »

Mi serve un calendario perpetuo in asp che data una data attraverso barra degli indirizzi, mi faccia comparire il mese (dell'anno indicato).
La qual cosa anche se reputo utilissima non sono ancora riuscito a trovare da nessuna parte...

Altrimenti sapete dirmi una formuletta per calcolare i giorni di un x mese di un y anno che me lo faccio da solo e ci perdo un po' di tempo?

Grazie a todos!

ANNUNCIO ADSENSE
Avatar utente
RobyDick
Veterano
OFFLINE
Veterano
Iscritto il: 17 dic 2021

Messaggio RobyDick »

In VB6:

Codice: [ Link visibile solo agli utenti registrati ]

Friend Function NumDays(ByVal vDate As String) As Integer
On Error Resume Next
'---------------------------------------------------------------------------
' stabilisce di quanti gg e' formato il mese attuale dell'anno attuale
'
' NOTA:
'         La funzione restituisce -1 se la data è errata
'         E' necessario passare la data nel formati:
'         GGMMAAAA, GG/MM/AAAAA , MMAAAA, MM/AAAA
'---------------------------------------------------------------------------
Dim m       As Integer    ' mese
Dim y       As Integer    ' anno
Dim DayAdd  As Byte
Dim tmp     As String
  
  If Len(vDate) < 8 Then
    tmp = "01" + FilterStr("N", vDate)
  Else
    tmp = FilterStr("N", vDate)
  End If

  m = Val(Mid(tmp, 3, 2))
  y = Val(Mid(tmp, 5, 4))
      
  If (m < 1 Or m > 12) Or Len(tmp) Mod 2 <> 0 Then
    NumDays = -1
  Else
    If m = 2 Then
      ' test se mese e' Febbraio
      If y Mod 4 = 0 Or y Mod 400 = 0 Then
        DayAdd = 1                      '  L' anno e' bisestile
      End If
    End If
    NumDays = Val(Mid(mx, m * 2 - 1, 2)) + DayAdd
  End If

End Function
usa anche questa function, che però puoi evitare

Codice: [ Link visibile solo agli utenti registrati ]

Friend Function FilterStr( _
    ByVal optFilter As String _
  , ByVal strValue As String _
  , Optional ByVal OtherChr As String = strEmpty _
  ) As String
On Error Resume Next
'----------------------------------------------------------------------------
'La funzione è di tipo generico e permette di filtrare da una stringa di
'caratteri (StringValue) solo i caratteri specificati in optFilter con
'aggiunta di altri caratteri specificati in OtherChr..
'
'optFilter  può assumere i seguenti valori:

'X       =  filtra solo i caratteri contenuti in OtherChr:M/n
'A       =  filtra solo i caratteri alfabetici M/m          [ + OtherChr ]
'N       =  filtra solo i caratteri numerici                [ + OtherChr ]
'A/N,A-N =  filtra i caratteri alfabetici e numerici M/m    [ + OtherChr ]
'
' NOTA:M/n = caratteri Maiusc. e min.
'----------------------------------------------------------------------------

Dim c    As String
Dim t    As String
Dim nw   As String
Dim j    As Integer
Dim tmp  As String

  tmp = strValue
  
  If Len(tmp) > 0 Then

    t = "QWERTYUIOPASDFGHJKLZXCVBNM0123456789"
          
    Select Case UCaseTrim(optFilter)
      Case "X"
         t = UCase(OtherChr)
      Case "A"
         t = Left(t, 26) + UCase(OtherChr)
      Case "N"
         t = Mid(t, 27) + UCase(OtherChr)
       Case "A/N", "A-N"
         t = t + UCase(OtherChr)
      Case Else
        Exit Function
    End Select
  
    For j = 1 To Len(tmp)
      c = Mid(tmp, j, 1)
      If Asc(c) >= 32 And Asc(c) <= 127 Then
        If InStr(t, UCase(c)) > 0 Then
          nw = nw + c
        End If
      End If
    Next
                  
    FilterStr = nw
  
  Else
    FilterStr = strEmpty & tmp
  
  End If

End Function
Affidabilissima. La uso dal VB3 ;)
Avatar utente
il_nonno
MODERATORE
OFFLINE
MODERATORE
Iscritto il: 09 nov 2021

Messaggio il_nonno »

Codice: [ Link visibile solo agli utenti registrati ]

 If m = 2 Then
      ' test se mese e' Febbraio
      If y Mod 4 = 0 Or y Mod 400 = 0 Then
        DayAdd = 1                      '  L' anno e' bisestile
      End If
    End If
    NumDays = Val(Mid(mx, m * 2 - 1, 2)) + DayAdd
  End If 
brillante:-))
giuro non conoscevo la funzione mod risolvevo con la seguente masturbazione mentale:

Codice: [ Link visibile solo agli utenti registrati ]


year1 = int(year/4)
if (year - (year1 *4) = 0)  then day = 29

ANNUNCIO ADSENSE
Rispondi