2017-05-26 63 views
0

我正在寻找两个链接到两个单独文本框的两个ajax日历扩展程序的天数差异。计算存储在ajax日历扩展程序控件中的两个日期的天数差异

Dim dt1 As DateTime = Convert.ToDateTime(CalendarExtender1.SelectedDate) 
Dim dt2 As DateTime = Convert.ToDateTime(CalendarExtender2.SelectedDate) 
Dim diffInDays As Integer = dt2.Subtract(dt1).Days 

Label12.text = "The dates are " + diffInDays.ToString() + "days appart." 

我以前用asp日历控件完成了这个任务,但是我在试图用ajax日历扩展实现这个功能时遇到了问题。

对于许多测试日期,标签输出显示“两个日期相隔0天”。

如果有人可以提供任何指导/帮助或让我知道我哪里出错,我将不胜感激。
谢谢!

+0

假设第二个日期总是在第一个日期之后。 – Anuga

回答

0

使用TimeSpan对象:)

哈克例如:

Sub Main() 
    Console.WriteLine(getDayDifference(CDate("2017-06-03"), CDate("2017-06-03"), True).ToString) 
    Console.WriteLine(getDayDifference(CDate("2017-06-03"), CDate("2017-05-03"), True).ToString) 
    Console.WriteLine(getDayDifference(CDate("2017-02-03"), CDate("2017-05-03"), True).ToString) 

    Console.ReadKey() 
End Sub 

Public Function getDayDifference(first As DateTime, second As DateTime, alwaysPositive As Boolean) 
    Dim span As TimeSpan = second - first 

    Return If(alwaysPositive, Math.Abs(span.TotalDays), span.TotalDays) 
End Function 

返回结果:

您可以设置alwaysPositive ARG为False,如果你想(确定的第一个日期比第二下时有用)真正的极性,如:

  • -31