I don't know why I am answering this!! :doh:
Did you even try?
Dim result as Integer
Dim s1 As String = "5-2007"
Dim s2 As String = "42-2011"
If (Convert.ToInt16(s2.Split("-")(1)) < Convert.ToInt16(s1.Split("-")(1))) _
OrElse ((Convert.ToInt16(s2.Split("-")(1)) = Convert.ToInt16(s1.Split("-")(1))) And (Convert.ToInt16(s2.Split("-")(0)) <= Convert.ToInt16(s1.Split("-")(0)))) Then
'error
ElseIf (Convert.ToInt16(s2.Split("-")(1)) = Convert.ToInt16(s1.Split("-")(1))) Then
result=MsgBox(Convert.ToInt16(s2.Split("-")(0)) - Convert.ToInt16(s1.Split("-")(0)))
Else
Dim weeks1 As Integer = (52 - Convert.ToInt16(s1.Split("-")(0)))
Dim weeks2 As Integer = (Convert.ToInt16(s2.Split("-")(0)))
result=(52 * (Convert.ToInt16(s2.Split("-")(1)) - Convert.ToInt16(s1.Split("-")(1)) - 1) + weeks1 + weeks2)
End If
'result is the weeks
Dim dfi As Globalization.DateTimeFormatInfo = Globalization.DateTimeFormatInfo.CurrentInfo
Dim cal As Globalization.Calendar = dfi.Calendar
'Your current value should be
'(cal.GetWeekOfYear(Today, Globalization.CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday) & "-" & Today.Year)