Kalenderwoche ermitteln

magic_halli

Erfahrenes Mitglied
Hi,
ich will aus einer Kalenderkomponente anhand des dort geklickten Datums die Kalenderwoche ermitteln. Hierzu habe ich in einem ASP.NET-Buch folgendes gefunden, was dieses Problem löst:
Code:
Public Class woche

Public Structure WeekOfYear

        Public Year As Integer
        Public Week As Integer

        Public Sub NewYear(ByVal Year As Integer, ByVal Week As Integer)
            Me.Year = Year
            Me.Week = Week
        End Sub

        Public Shared Function FromDateTime(ByVal datum As Date) As WeekOfYear
            Dim datum_this As Date = GetFirstDayOfFirstWeek(datum.Year)
            Dim datum_next As Date = GetFirstDayOfFirstWeek(datum.Year + 1)

            If datum > datum_next Then
                Return New WeekOfYear(datum.Year + 1, 1)
            Else
                Return New WeekOfYear(datum.Year, Math.Floor(datum.Subtract(datum_this).Days / 7) + 1)
            End If
        End Function

        Private Shared Function GetFirstDayOfFirstWeek(ByVal Year As Integer) As Date
            Dim datum_jan04 As Date = New Date(Year, 1, 4)
            Dim Weekday As Integer = ((datum_jan04.DayOfWeek + 6) Mod 7) + 1
            Dim datum_fdfw As Date = datum_jan04.AddDays(1 - Weekday)
            Return datum_fdfw
        End Function

        Public Overrides Function ToString() As String
            Return String.Format("{0}/{1}", Me.Week, Me.Year)
        End Function

    End Structure
End Class
Bei den rot markierten Zeilen meckert mein VisualStudio.NET: "Der Typ 'Projekt.woche.WeekOfYear' hat keine Konstruktoren." Wie soll ich das denn verstehen?
Ich dachte, aus einer zuverlässigen Quelle gibts keine solchen Überraschungen! Was kann ich jetzt tun?

Danke, Rico.
 
Hier mal eine Lösung mit C# (sollte ja ähnlich sein)

Code:
GregorianCalendar cal = new GregorianCalendar();
    
int kalender_woche = cal.GetWeekOfYear(dtWochenanfang, DateTimeFormatInfo.CurrentInfo.CalendarWeekRule, DateTimeFormatInfo.CurrentInfo.FirstDayOfWeek);


ciao Anke
 

Neue Beiträge

Zurück