Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb.net将周转换为日期?_Vb.net_Date - Fatal编程技术网

vb.net将周转换为日期?

vb.net将周转换为日期?,vb.net,date,Vb.net,Date,我正在开发一个ASPX VB.NET文件。我的任务是将一个表示一年中的一周的整数转换为该结束日期。例如,如果用户选择2011年的第4周,我希望得到日期=1/22/11。如何在VB.NET中执行此操作?您可以使用以下课程的周: 我刚才问过。我还需要一个RegularExpressionValidator(如果您需要的话) 以下是我必须从一年中的一周中获得的日期: Public Shared Function FirstDateOfWeek(ByVal year As Integer, ByVal

我正在开发一个ASPX VB.NET文件。我的任务是将一个表示一年中的一周的整数转换为该结束日期。例如,如果用户选择2011年的第4周,我希望得到日期=1/22/11。如何在VB.NET中执行此操作?

您可以使用以下课程的

我刚才问过。我还需要一个RegularExpressionValidator(如果您需要的话)

以下是我必须从一年中的一周中获得的日期:

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

这是家庭作业吗?如果是这样,你真的不应该在这里问。我们可以帮助您指出逻辑/语法方面的缺陷——但双方都不太诚实地完成任务。也许你有一些你尝试过的形式(不起作用),我们可以看看看看这个Dim d=newdatetime(2011,1,1)。AddDays((4-1)*7)不,这不是家庭作业。不过我是VB.NET新手。@Magnus,当我使用上面的代码时,我得到一个错误:“'DateTime'是一个类型,不能用作表达式。”简短说明:Calendar类的GetWeekOfYear方法不一致。另请参见。Hi Tim,如果这不是ISO8601,它是否仍然适用或有效,以用作参考?
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
<asp:RegularExpressionValidator ID="CalWeekFormat" runat="server" 
                                 ControlToValidate="TxtCalWeek" Display="None" EnableClientScript="true" 
                                 ErrorMessage="Enter valid Year/Calendarweek-Format: examplary format '09w23' or '9w23' for year 2009 and week 23" 
                                 style="visibility:hidden" 
                                 ValidationExpression="^\d{1,4}[wW](\d|[0-4]\d|5[0123])$" 
                                 ValidationGroup="VG_SAVE">*</asp:RegularExpressionValidator>