2012-02-28 15 views
0

私は2つの日付の違いを見つけようとしています。 2つの日付のうちの最初の日付は変更することができ、変更されると、元の日付の差異を保持する必要があります。これは、前回と同じ差異を持つように2番目の日付を自動的に変更する必要があることを意味します。VB - 2つの日付の相違

Public Sub New() 

    InitializeComponent() 

    currDate = txt_ProjStart.Text 

End Sub 

Private Sub txt_ProjStart_TextChanged..... 

If txt_ProjEnd.Text.Length > 0 Then 

    Dim newDate As Date 
    newDate = txt_ProjStart.Text 




    Dim endDate As Date 
    endDate = txt_ProjEnd.Text 


End If 

私は古いdate1(currDate)と新しいdate1の値(newDate)の値を持っています。私は、これらの違いを取得し、endDateからこれらの日を追加または削除する必要があります。

ご協力いただければ幸いです。ありがとう!

+0

DateTime.Parse(txt_ProjectEnd.Text) - DateTime.Parse(txt_ProjectStart.Text) – kenny

+2

日付を単に差し引いてTimeSpanを取得し、最初の(変更された)日付にそれらを追加して、同じ相違 - 私はあなた自身が*アルゴリズム*を手に入れていると思います) – Carsten

答えて

0
Dim newDate, endDate, someOtherDate As Date 

If Date.TryParse(txt_ProjStart.Text, newDate) AndAlso _ 
    Date.TryParse(txt_ProjEnd.Text, endDate) Then 

    Dim diff As TimeSpan = endDate - newDate 
    Dim result As Date = someOtherDate + diff 
End If 

日付とタイムスパンは自動的に相互に変換されます。また、安全な日付変換を使用することをお勧めします。 TryParseは、日付が無効な場合は例外を生成しません。むしろそれはFalseを返すでしょう。