Vb.net 如何从vb字符串格式的日历中计算两个日期之间的天数
我有2个aspx日历(AbscenceStartDateCal和AbscenceEndDateCal),它将日期值传递到文本框,带有.cs代码,如下所示: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 =
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