は、calendarweek/year-combinationから日付インスタンスを取得するために使用できる単純な組み込み関数ですか?カレンダー - 週を日付に変換する
TextBoxに10w2005
を入力すると、07 March 2005
という日付が作成されます。
月曜日が最初の日で、CalendarWeekRuleがFirstFullWeekである必要があります。
Dim w As Int32 = 10
Dim y As Int32 = 2005
Dim d As New Date(y, 1, 1)
d = d.AddDays(7 * w)
しかしFirstDay- CalendarWeekRuleが適用されないので、これは動作しません:
私の最初のアプローチでした。事前に
おかげ
編集:
これは私が(リンクはfjdumontのおかげ)で終わってきたものである:
Public Shared Function FirstDateOfWeek(ByVal year As Integer, ByVal weekOfYear As Integer) As DateTime
Dim jan1 As New DateTime(year, 1, 1)
Dim daysOffset As Integer = CInt(Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek) - CInt(jan1.DayOfWeek)
Dim firstWeekDay As DateTime = jan1.AddDays(daysOffset)
Dim curCulture As System.Globalization.CultureInfo = System.Globalization.CultureInfo.CurrentCulture
Dim firstWeek As Integer = curCulture.Calendar.GetWeekOfYear(jan1, curCulture.DateTimeFormat.CalendarWeekRule, curCulture.DateTimeFormat.FirstDayOfWeek)
If firstWeek <= 1 Then
weekOfYear -= 1
End If
Return firstWeekDay.AddDays(weekOfYear * 7)
End Function
だから、答えは:簡単な組み込み関数がありません。ありがとう。 –