2017-05-26 6 views
0

2つの別々のテキストボックスにリンクされた2つのajaxカレンダーエクステンダーの日数を調べることを検討しています。ajaxカレンダーエクステンダーコントロールに格納された2つの日付の日数の差を計算する

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カレンダー拡張機能を使用して達成しようとしたとき、私は問題を抱えています。

多くのテスト済みの日付では、ラベル出力に「2つの日付は0日離れています」と記載されています。

誰でも助言や助けをしたり、私が間違っている場所を教えてもらえたらうれしいです。
ありがとうございます!

+0

2番目の日付が常に最初の日付の後にあると仮定します。 – 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 

が返されます:

(最初の日付が二未満であるかどうかを判断する際に便利)あなたは本当の極性がしたい場合は、例えば、Falseに引数alwaysPositiveを設定することができます。

  • -31
関連する問題