2012-02-28 233 views
0

我試圖找出兩個日期之間的差異。兩個日期中的第一個可以改變,當它改變時,原始日期之間的差異必須保留。這意味着我必須自動將第二個日期更改爲與以前相同的天數,但是需要新的第一個日期。VB - 兩個日期之間的差異

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 2012-02-28 12:13:57

+2

您可以通過減去日期來獲得TimeSpan - 然後將它們添加回第一個(更改的)日期以獲得另一個日期相同的區別 - 我想你會得到*算法*自己工作;) – Carsten 2012-02-28 12:14:01

回答

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