我有这段代码:
Private Sub CalculateBUT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalculateBUT.Click
If SelectTheDateComboBox.Text = "Calculate the difference between two dates" Then
FromYearTextBox.Text = FromDateTimePicker.Value.Year
FromMonthTextBox.Text = FromDateTimePicker.Value.Month
FromDayTextBox.Text = FromDateTimePicker.Value.Day
ToYearTextBox.Text = ToDateTimePicker.Value.Year
ToMonthTextBox.Text = ToDateTimePicker.Value.Month
ToDayTextBox.Text = ToDateTimePicker.Value.Day
Dim DaysMyString, MonthsMyString, YearsMyString As String
Dim DaysDifferance, MonthsDifferance, YearsDifferance As Long
DaysMyString = FromDateTimePicker.Value.Day
MonthsMyString = FromDateTimePicker.Value.Month
YearsMyString = FromDateTimePicker.Value.Year
DaysDifferance = DateDiff(DateInterval.Day, ToDateTimePicker.Value.Day, CDate(DaysMyString))
MonthsDifferance = DateDiff(DateInterval.Month, ToDateTimePicker.Value.Month, CDate(MonthsMyString))
YearsDifferance = DateDiff(DateInterval.Year, ToDateTimePicker.Value.Year, CDate(YearsMyString))
DifferenceTextBox2.Text = DaysDifferance & "Days, " & MonthsDifferance & "Months, " & YearsDifferance & "Years"
End Sub
我的问题如下图:
所以,我需要一些帮助。
答案 0 :(得分:1)
您希望DateDiff为您提供两个日期之间的天数,并且您希望DaysDifference保存结果,这很好:
DaysDifferance = DateDiff(DateInterval.Day, x, y)
但为了工作,x和y需要成为日期。
当您使用ToDateTimePicker.Value
(这是一个日期)并在结尾添加.Day
时,它不再是日期。
所以你想要:
DaysDifferance = DateDiff(DateInterval.Day, ToDateTimePicker.Value, CDate(DaysMyString))