Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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字符串格式的日历中计算两个日期之间的天数_Vb.net_Visual Studio 2008 - Fatal编程技术网

Vb.net 如何从vb字符串格式的日历中计算两个日期之间的天数

Vb.net 如何从vb字符串格式的日历中计算两个日期之间的天数,vb.net,visual-studio-2008,Vb.net,Visual Studio 2008,我有2个aspx日历(AbscenceStartDateCal和AbscenceEndDateCal),它将日期值传递到文本框,带有.cs代码,如下所示: Protected Sub AbsenceEndDateCal_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles AbsenceEndDateCal.SelectionChanged Dim date2 As DateTime =

我有2个aspx日历(AbscenceStartDateCal和AbscenceEndDateCal),它将日期值传递到文本框,带有.cs代码,如下所示:

Protected Sub AbsenceEndDateCal_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles AbsenceEndDateCal.SelectionChanged
    Dim date2 As DateTime = New System.DateTime
    date2 = AbsenceEndDateCal.SelectedDate
    tbAbsenceEndDate.Text = date2.ToString("dd/MM/yyyy")

End Sub
在我的pageload中,我想通过2文本框值计算显示为标签的天数。我尝试使用以下代码,但它无法处理以下错误“字符串未被识别为有效的日期时间”


所以我不确定,因为我是VB新手。非常感谢您的帮助。

您可以使用ParseExact方法并指定所需的格式。 您得到的格式无效,因为您可能正试图设置超出当前格式下定义的范围的日期或月份值

例如:

Dim startDateString = "12/01/2015"
Dim endDateString = "14/01/2015"

Dim startDate = DateTime.ParseExact(startDateString, "dd/mm/yyyy", CultureInfo.InvariantCulture)
Dim endDate = DateTime.ParseExact(endDateString, "dd/mm/yyyy", CultureInfo.InvariantCulture)

Dim ts As New TimeSpan
ts = endDate.Subtract(startDate)

Dim dayDiff = ts.Days

我不想像Dim startDateString=“12/01/2015”这样硬编码,因为我想从日历中获取所选日期的值,所以只需将其替换为TBABASCESTARTDATE.text即可使用ParseExact和格式,您应该知道如何从代码中传递参数是的,我尝试过,但仍然得到相同的错误“字符串未被识别为有效的日期时间”。这意味着您的格式与我在代码中指定的格式不同,例如,月份是用一位数字表示还是用两位数字表示?例如,对于1月1日和1月1日,请注意格式要求两个
Dim startDateString = "12/01/2015"
Dim endDateString = "14/01/2015"

Dim startDate = DateTime.ParseExact(startDateString, "dd/mm/yyyy", CultureInfo.InvariantCulture)
Dim endDate = DateTime.ParseExact(endDateString, "dd/mm/yyyy", CultureInfo.InvariantCulture)

Dim ts As New TimeSpan
ts = endDate.Subtract(startDate)

Dim dayDiff = ts.Days